ビットシフト計算機
ビットシフト計算機です。
計算結果
ビットシフト計算機:2進数の動きを見てみよう
コンピュータの世界で頻繁に使われる「ビットシフト」演算を、10進数と2進数の両方で確認できるツールです。入力した数値が左右にシフトしたとき、ビットがどのように動くかを可視化します。
ビットシフトとは?
数値を2進数(0と1の並び)で表したとき、その桁を左または右にずらす操作のことです。プログラミングや高速な計算処理(掛け算・割り算の代用)で利用されます。
3つのシフト操作の違い
1. 左シフト (<<)< /h3>
ビット列全体を左にずらします。右側の空いた桁には 0 が入ります。
- 効果: 1ビット左にずらすと、数値は2倍になります。
- 例:
0011(3) →0110(6)
2. 算術右シフト (>>)
ビット列全体を右にずらします。左側の空いた桁には、元の符号ビット(最上位ビット)と同じものが入ります。
- 効果: 符号(プラス・マイナス)を保ったまま1/2にします(整数の割り算)。
- 例(正):
0110(6) →0011(3) - 例(負):
1110(-2) →1111(-1) ※2の補数表現
3. 論理右シフト (>>>)
ビット列全体を右にずらします。左側の空いた桁には、符号に関係なく常に 0 が入ります。
- 効果: 数値を単なる「ビットの並び」として扱う場合に使います。負の数を扱うと、符号ビットが0になるため、突然大きな正の数に変わります。
- JavaやJavaScriptなどで区別されますが、C言語などでは型によって挙動が変わることがあります。
2進数と負の数
コンピュータでは通常、負の数を「2の補数」という形式で表します。最上位ビットが 1
なら負の数、0なら正の数です。このツールでは32ビット整数として計算を行います。