ビット単位シフト計算機
整数のビットを左または右に シフト — arithmetic/signed >> または logical/unsigned >>> — で選択されたビット幅(8/16/32/64)で、シフト前/後のバイナリパターン、10進数と16進数の結果を表示します。
入力
10進数(負数可、例: -8)または符号なし 0x-hex(例: 0xF0)。
シフトするビット位置の数。ビット幅以上のシフト量は完全シフトに制限されます(結果は0、または負の値の算術右シフトの場合は-1)。負のシフト量は0として扱われます。
出力
| Property | Value |
|---|---|
| No data yet | |
ガイド
ビット単位シフト計算機は整数のビットを左または右にシフトし、シフト前後の正確なバイナリパターンと、10進数および16進数の結果を表示します。シフト操作を正確に理解する必要があるすべての人のために構築されています。2進の補数を学ぶ学生、ビットマスクをデバッグする開発者、または高速乗算/除算のトリックを二重チェックするエンジニア — 単に数字を取り戻すのではなく。
算術シフトと論理シフト
左シフト(<<)は常に同じ方法で動作します。ビットは最上位に向かって移動し、ゼロが右から埋められます。選択されたビット幅を超えてシフトされたビットは削除されます。
右シフトには2つの異なる意味があり、間違った選択は一般的なバグの原因です。
- 算術右シフト(
>>, signed) は値の符号を保持します。数値が負(最上位ビットが1)の場合、空いている高いビットは1で埋められるため、結果は負のままになります。これは負の無限大に向かって丸める整数除算と同じルールです。これはほとんどの言語の符号付き整数に対する>>演算子が行うことです。 - 論理右シフト(
>>>, unsigned) は符号を完全に無視します。空いている高いビットは常に0で埋められるため、シフトされた負の数は大きな正の数になります。これは値を符号付き数量ではなく生のビットパターンとして扱う場合に適切な選択です。たとえば、パックされたピクセルから色チャネルを抽出する場合などです。
差は負の数にのみ現れるため、正の値でテストすることは正しくても、本番環境で予期しない結果が生じやすくなります。この計算機により、同じ入力で2つのシフト方法を切り替えて、正確な違いがどこにあるかを確認できます。
使い方
- 値 を入力してください。10進整数(負の数もOK、例:
-8)またはunsigned hexリテラル(0xF0など)。 - シフト量 を入力してください。シフトするビット位置の数。
- シフト方向 を選択してください。左シフト、算術(signed)右シフト、または論理(unsigned)右シフト。
- ビット幅 を選択してください。8、16、32、または64ビット。これにより、値がどのようにパディングされ、ビットがエッジからどこに落ちるかが決まります。同じ10進値でも選択した幅によってシフト結果が異なります。
結果テーブルには、選択した幅にパディングされた元の値のバイナリパターン、シフト後のバイナリパターン、10進数の結果、およびhexの結果が表示されます。フィールドを変更するたびにリアルタイムで更新されます。
FAQ
シフト量がビット幅より大きい場合はどうなりますか? 結果は、元のビットをすべてシフトアウトした場合に得られるものになります。左シフトと論理右シフトの場合は0、算術右シフトの場合は0または-1(すべてのビットが設定)になります。結果は値が非負か負かによって異なります。
負のシフト量の場合はどうなりますか? 0として処理されます。値は変わらずに通ります。
0xF0のようなhex入力が10進数の240と異なるようにシフトされるのはなぜですか?
そうではありません。0xF0と240は同じ値です。hex入力は、10進数ではなく2進/hex の用語で考えているときに、正確なビットパターンを入力するより便利な方法です。
なぜ負の数が巨大な正の数になったのですか? 負の値に対して論理(unsigned)右シフトを使用した可能性があります。これは予期されることです。論理シフトは符号の概念を持たないため、符号ビットを保持する代わりに0で埋めます。符号を保持したい場合は、算術右シフトに切り替えてください。
これは一般的なビット単位計算機と同じですか? いいえ。ビット単位計算機はAND/OR/XOR/NOTと数値のペアに対するシフトを処理します。このツールはシフト動作を探索することに特化しています。ビット幅セレクターと完全な前後のバイナリ読み出しを追加して、正確にどのビットが移動したか、どのビットが落ちたか、どのビットが埋められたかを確認できます。
プライバシー
すべての計算はあなたのブラウザで完全に実行されます。入力値がサーバーに送信されることはありません。
コードから使う
REST API
curl -X POST https://api.iotools.cloud/v1/tool/bitwise-shift-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"value": "5",
"shiftAmount": "2",
"shiftDirection": "left",
"bitWidth": "8"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `bitwise-shift-calculator` tool (Bitwise Shift Calculator) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
| 1回あたりの費用 | 5クレジットから |
|---|