PHPでウェブの世界と繋がろう!
menu
ホーム > PHPサンプル > 演算子系 > ビット演算子を利用したい

ビット演算子を利用したい

Pocket

サンプルコード sample code

- 1 分ノート ! -

& ビットAND(論理積) | ビットOR(論理和)
^ ビットXOR(排他論理和) ~ ビット否定
<< 左シフト >> 右シフト
  • ビット演算子 は、整数値をビット値で演算
  • ビット は、コンピュータが処理する最小単位
  • ビット は、2進数の 0 と 1 に対応している

ビット演算子を利用したい

ビットとは、コンピュータが処理する最小の単位です。ビット演算子は、オペランド(演算の対象となる値や変数のこと)の整数値をビット(2進数)に表現し、特定のビットを評価し演算を行います。つまり、整数値をビット値で演算します。

ビットは2進数の 0 と 1 に対応しています。コンピュータでは通常、8ビット(1バイト)を1つの単位として扱い、1バイトは、0 から2進数の11111111(10進数の255)までが表現可能です。

– サンプル Click Here ! –

<h3>ビットAND(論理積)</h3>
<?php
$a = 3;$b = 35;
echo $a & $b;
?>

<h3>ビットOR(論理和)</h3>
<?php
$a = 3;$b = 35;
echo $a | $b;
?>

<h3>ビットXOR(排他論理和)</h3>
<?php
$a = 3;$b = 35;
echo $a ^ $b;
?>

<h3>ビット否定</h3>
<?php
$a = intval('1100', 2);
printf("%064b",  $a);
echo '<br/>';
printf("%064b", ~$a);
?>

<h3>左シフト</h3>
<?php
$a = intval('1111', 2);
$b = intval('0001', 2);
echo decbin($a << $b);
?>

<h3>右シフト</h3>
<?php
$a = intval('1111', 2);
$b = intval('0001', 2);
echo decbin($a >> $b);
?>

<h3>bindec() 2進数を10進数に変換する</h3>
<?php
echo bindec(100011);
?>

<h3>decbin() 10進数を2進数に変換する</h3>
<?php
echo decbin(35);
?>
実行結果
ビットAND(論理積)
3

ビットOR(論理和)
35

ビットXOR(排他論理和)
32

ビット否定
0000000000000000000000000000000000000000000000000000000000001100
1111111111111111111111111111111111111111111111111111111111110011

左シフト
11110

右シフト
111

bindec() 2進数を10進数に変換する
35

decbin() 10進数を2進数に変換する
100011

– サンプル Click Here ! –


タグ(=記事関連ワード)

タグ:

日付

投稿日:2014年2月21日
最終更新日:2014年02月26日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpsample-operators-bitwise/trackback/