既存データか数値かを決める
初期値は−42、10進数、8ビット、符号付きです。既存のFFを読むならビット列と16進数を選びます。基数の変更は入力を書き換えず読み直すため、10進数のまま0xFFを入力すると接頭辞エラーになります。
数値・ビット演算・単位
入力の意味とビット幅を選び、同じビット列の二つの読み方を確認します。
整数一つ、最大256文字。0b/0o/0xは選択した基数に合わせてください。内部の空白、区切り文字、改行、小数は使えません。
入力はこのブラウザー内で処理され、サーバーには送信されません。
数値は数学的な整数を符号化します。ビット列は非負のパターンを読み、左側をゼロで埋めます。負号は使えません。
設定変更では現在のテキストを読み直します。バイト順は完成したワードに適用し、各バイト内のビット順を保ちます。
入力は選択した範囲内です。
レジスタにはFF、デバッガには−1。この食い違いを調べるとき、2の補数計算機ならビット列を変えずに解釈だけを比較できます。まずは入力が数値なのか、すでに保存されているビット列なのかを決めてください。
数値255は符号付き8ビットの範囲外ですが、ビット列FFは8ビットに収まります。基数だけを選ぶ変換では見落としやすい違いです。本ツールは入力の意味を明示し、元のテキストと範囲判定を残します。
2の補数計算機に300を入力して8ビットを選ぶと、入力は300のまま、下位8ビットの値は44と表示されます。オーバーフローは構文エラーと区別され、元の数と切り詰めたワードを比較できます。プレビューを入力に適用する操作はありません。
32ビットの0x12345678は、ビッグエンディアンでは12 34 56 78、リトルエンディアンでは78 56 34 12です。入れ替わるのはバイトの位置だけです。バイト内部のビット順や、数値の符号が反転するわけではありません。
初期値は−42、10進数、8ビット、符号付きです。既存のFFを読むならビット列と16進数を選びます。基数の変更は入力を書き換えず読み直すため、10進数のまま0xFFを入力すると接頭辞エラーになります。
ビット列FFを16ビットに広げると00FF、つまり255になります。テキストの長さから符号拡張は推測しません。数学的な−1を保って幅を広げる場合は、数値モードに−1を入力します。
自動計算は入力から350ミリ秒後に実行します。オフにすると計算ボタンとCtrl/Cmd + Enterが使えます。変更直後は出力を無効化。例とクリアは変更数のプレビューを経て適用し、入力と結果を一緒に元に戻せます。
符号付き整数の範囲は−2^(w−1)から2^(w−1)−1、符号なしは0から2^w−1です。同じFFでも8ビットなら−1または255になります。主な読み方を選んでも、比較用のもう一方の値と範囲は表示し続けます。
−42の絶対値は00101010。すべてのビットを反転して11010101にし、1を足すと11010110です。2の補数変換の手順は、選択した幅の符号付き範囲に収まる負の数値入力で表示します。最小の負数も対象です。
18446744073709551615を浮動小数点数へ変換せず、整数のまま処理します。2進数と16進数は幅に合わせてゼロを補い、レポートには元のテキスト、入力モード、範囲状態、両方の解釈とバイト配列を含めます。
選んだ幅のビットをすべて1にします。8ビットでは11111111、16ビットでは1111111111111111です。数値モードに−1を入力すると幅に応じて生成されます。短いビット列を入力した場合は同じ結果になるとは限りません。
絶対値を選んだ幅の2進数に直し、全ビットを反転して1を加えます。−5の8ビット表現は00000101 → 11111010 → 11111011です。計算前に元の数が符号付き範囲に収まることも確認してください。
幅によって符号の位置、表現範囲、埋めるゼロの数が変わるからです。8ビットのFFは−1ですが、16ビットの00FFは255です。記録されたデータを読むときは、元のフィールドの幅を指定する必要があります。
ビット列モードを選び、基数と幅を合わせます。最上位ビットが1なら、符号なしの値から2^wを引くと符号付きの値になります。8ビットの11111011は251−256で−5です。両方の値を結果欄で確認できます。
符号付きの2の補数として読む場合に限ります。符号なしなら最上位ビットも大きさの一部です。8ビットの10000000は符号付きでは−128、符号なしでは128で、ビット列そのものは変わりません。
想定と違う結果ですか?