BACK

HOOPSII MOBILE

HOME

12冊目 【JavaScript】[ECMAScript] ビット演算子

ビット演算子は整数値を2進数にして論理演算結果を返す演算子です。

目次

[1] ビット積演算子(&)

比較したデータの各桁のビットが1のときに1を返し、それ以外のときは0を返します。


// 10 = 1010(2進数)
// 7 = 0110(2進数)
document.writeln(10 & 7);

[2] ビット和演算子(|)

比較したデータの各桁のビットのどちらかが1のときに1を返し、それ以外のときは0を返します。

// 10 = 1010(2進数)
// 7 = 0110(2進数)
document.writeln(10 | 7);

[3] ビット排他論理和演算子(^)

比較したデータの各桁が一致したときに一致したデータを反転し、 各桁のデータが不一致のときに0を返します。

// 10 = 1010(2進数)
// 7 = 0110(2進数)
document.writeln(10 ^ 7);

[4] ビット否定演算子(~)

ビットを反転(1 => 0, 0 => 1)にします。

document.writeln(~7);

[5] 左シフト演算子(<<)

ビットを左にシフトします。1つシフトすると2倍になります。

document.writeln(7 << 2);

[6] 符号付き右シフト演算子(>>)

ビットを右にシフトします。1つシフトすると2分の1になります。
値が正か負によって動作が少し異なります。

// 正の場合は先頭に0が入る
document.writeln(8 >> 2);

// 負の場合は先頭に1が入る
document.writeln(-8 >> 2);

[7] 符号なし右シフト演算子(>>>)

ビットを右にシフトします。1つシフトすると2分の1になります。
値が正か負によっても動作が変わりません。

// 正の場合は先頭に0が入る
document.writeln(8 >>> 2);

// 負の場合も先頭に0が入る
document.writeln(-8 >>> 2);

[8] 更新履歴

日付 詳細
2011/06/21 コンテンツ公開

Copyright (C) 2011 ほぷしぃ. All Rights Reserved.