ビット演算子


  Share  
|


次の表は、標準のビット演算子はJavaとの説明をしてください。

演算子 説明
ビット演算子と
| インクルーシブ-ビットまたは(または通常として知られる)
^ ビット単位の排他的論理和(排他的論理として知られて通常)
ビット単位のない

これらの機能を説明するビット演算子は、 2つのバイト値を使用することができる、 AとBが、これをJavaで表現される可能性があるバイト型の変数です。 次の表は、 AとBの2進表記( 1バイトは8ビット) 。

バイト バイナリ値
01101010
Bに 11110000

テストは、 2つのビット演算子( & )を返しますビットの両方をテストビットが真の場合にtrueを、そうでなければ、このビットがfalseを返します。 次の表は、 AとBの結果

バイト ビット
0 1 1 0 1 0 1 0
Bに 1 1 1 1 0 0 0 0
AとB 0 1 1 0 0 0 0 0

、または( | )の2つのビット演算子をテストし、結果を返す場合にtrueをビットは、テストのいずれか、または両方のビットが真;場合には両方とも虚偽と、 returnビットでも偽です。 次の表は、 AかBの結果

バイト ビット
0 1 1 0 1 0 1 0
Bに 1 1 1 1 0 0 0 0
AとB 1 1 1 1 1 0 1 0

排他的論理演算子( ^ )の2つのテストビットおよび1つの場合にtrueを返しますビット、および1つだけ、そのビットが真、そうでなければ、 2つの値が等しい場合は、このビットがfalseを返します。 次の表は、結果としてBの排他的論理

バイト ビット
0 1 1 0 1 0 1 0
Bに 1 1 1 1 0 0 0 0
AとB 1 0 0 1 1 0 1 0

していない( 〜 )演算子は、すべてのビット反転は、ゼロになるものはどこにゼロになるものとし、そのためには、単項演算子のオペランドを1つしか使用されていますが、他のビット演算子がテストを見ただけで我々は反対する2つのオペランド(バイナリ演算子)は、 AとBの結果、以下の表に示す操作をしていないバイトa.

バイト ビット
0 1 1 0 1 0 1 0
ない 1 0 0 1 0 1 0 0

ビット演算子とは、あるいは、排他的論理演算子とブール表現でも使うことができますが、ブール値として1つのビットだけが含まれて効果的にはtrueまたはfalseのどちらかです。 これをJavaで実装できる以下のとおり:

 ブールmusicon =真;ブールtelevisionon =真;ブールarebothon = musicon & televisionon ; / /真のブールareanyon = musicon | televisionon ; / /真televisiononブールisonlyoneon = musicon ^ ; / /虚偽 

また、これらの3つの代入演算子ビット演算子は、次の表に示されているようです。

演算子 説明
& = ビット演算子と代入
| = ビット演算子または代入インクルーシブ-
^ = ビット単位の排他的排他的論理代入
これは、記事に追加されたc.ガブリエラペレス

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions