ホームページ > バックエンド開発 > PHPチュートリアル > php ビット演算子について

php ビット演算子について

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 13:21:26
オリジナル
784 人が閲覧しました

4 つの一般的なビット演算子: & (ビット単位の AND)、| (ビット単位の OR)、^ (ビット単位の XOR)、~ (ビット単位の否定)

& (ビット単位の AND): 対応するビットが両方とも 1 の場合、 & 演算の後は 1、それ以外の場合は 0

になります

| (ビットごとの OR): 対応するビットの 1 つが 1 の場合、| 演算の後は 1 になり、両方が 0 の場合は 0

になります

^ (ビットごとの XOR): 対応するビットが同時に 1 でない場合、^ 演算後に 1 になります。同時に 0 の場合、0 になります。両方のビットが同時に 1 の場合、 ^ 演算も 0

~ (ビットごとの否定) :$a+(~$a)=-1

コンピュータでは、負の数は正の値の補数形式で表現されます。
ここでは、元のコード、逆コード、補完コードという 3 つの概念を知る必要があります。

元コード: 整数を絶対値に従って 2 進数に変換したものを元コードといいます。

8 の元のコードは次のとおりです: 0000 0000 0000 0000 0000 0000 0000 1000

逆コード: 2 進数はビット単位で反転され、その結果得られる新しい 2 進数は元の 2 進数の 1 の補数と呼ばれます。否定演算とは、1が0になる、0が1になることを意味します。

8 ビットごとの否定: 1111 1111 1111 1111 1111 1111 1111 0111

補数コード: 補数コードに 1 を加えたものを補数コードと呼びます。つまり、数値の補数を取得するには、まず補数を取得し、次にその補数に 1 を加算します。その結果得られる数値は補数と呼ばれます。

正の数の補数は元のコードと同じです; 負の数の補数はその補数の最後の桁に 1 を加算します

補数に 1 を追加します: 1000 0000 0000 0000 0000 0000 000 1001このようにして、負の数の正の値が 2 の補数形式で取得されます。つまり-9です。

参考: http://www.cnblogs.com/setsail/archive/2013/05/22/3093542.html

http://my.oschina.net/WarRome/blog/90707

上記の説明は私自身はよく理解できませんでしたが、実際には $a+(~$a)=-1

例は次のとおりです:

$m=8;
$n =12;
$p=-109 ;
$mn=$m&$n;
echo $mn."
";
$mn=$m|$n;
echo $mn."$mn=$m ^$n;
echo $mn."
";
$mn=~$m;
echo $mn."
";
$mn=~ $p;
エコー$mn。」

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート