FreeMat v3.5  日本語ドキュメントビット操作 

 

ドキュメント目次

-------------------------------------------------------------------------------------------------------------------------------------------
bitand 論理積 
 
【構文】
 y = bitand(a,b)
a,bは符号なし整数です。 2進数にして各ビットが比較されます。たとえば2と7の比較は010と111なので、
論理積は010となります。よって2が結果として出力されます。
 
【例】


--> bitand([0 0 1 1],[0 1 0 1])

ans =

0 0 0 1 

--> bitand(2,7)

ans =

2

--> bitand([3 4 2 3 10 12],5)

ans =

1 4 0 1 0 4
 
 
--> bitand([3 4 2 3 10 12],1)

ans =

1 0 0 1 0 0  

※最後の例のように奇数を見分けるにも良い方法です。

-------------------------------------------------------------------------------------------------------------------------------------------
bitcmp 補数 

[構文]
 y = bitcmp(a)
 y = bitcmp(a,n)
aは符号なし整数です。nビットの補数が取られます。 
 
[例]
--> bitcmp(1)

ans =

-2

--> bitcmp(0)

ans =

-1
 
--> bitcmp(uint8(55))

ans =

200

--> bitcmp(uint16(55))

ans =

65480

--> bitcmp(3,4)

ans =

12
 
-------------------------------------------------------------------------------------------------------------------------------------------
bitor 論理和  
 
[構文]
 y = bitor(a,b)
a,bは符号なし整数です。bitand同様2進数にしてビット毎に論理和をとります。そのため0と7は000と111で
比較され111となります。結果7を返します。 
 
[例]
--> bitor(0,7)

ans =

7
--> bitor([3 4 2 3 10 12],5)

ans =

7 5 7 7 15 13


--> bitor([3 4 2 3 10 12],1)

ans =

3 5 3 3 11 13

-------------------------------------------------------------------------------------------------------------------------------------------
bitxor 排他的論理和  
 
[構文]
 y = bitxor(a,b)
a,bは符号なし整数です。bitand同様2進数にしてビット毎に論理和をとります。そのため3と6は011と110で
比較され101となります。結果5を返します。 
 
 
[例]
--> bitxor(3,6)

ans =

5
--> bitxor([3 4 2 3 10 12],5)

ans =

6 1 7 6 15 9


--> bitxor([3 4 2 3 10 12],1)

ans =

2 5 3 2 11 13