2の補数計算ツール(符号付き・符号なし変換)
整数を8、16、32、64ビット、または任意の幅の2の補数2進数・16進数に変換し、符号付き・符号なしの値、オーバーフロー、範囲を確認できます。
| 幅 | 代表的な型 | 符号付き最小値 | 符号付き最大値 | 符号なし最大値 |
|---|---|---|---|---|
| 8ビット | int8_t / uint8_t · sbyte / byte | -128 | 127 | 255 |
| 16ビット | int16_t / uint16_t · short / ushort | -32768 | 32767 | 65535 |
| 32ビット | int32_t / uint32_t · int / uint | -2147483648 | 2147483647 | 4294967295 |
| 64ビット | int64_t / uint64_t · long / ulong | -9223372036854775808 | 9223372036854775807 | 18446744073709551615 |
| 128ビット | Int128 / UInt128 (.NET 7+), __int128 | -170141183460469231731687303715884105728 | 170141183460469231731687303715884105727 | 340282366920938463463374607431768211455 |
| 幅 | 収まる? | 2の補数(16進数) |
|---|---|---|
| 8ビット | はい | 0xD6 |
| 16ビット | はい | 0xFFD6 |
| 32ビット | はい | 0xFFFFFFD6 |
| 64ビット | はい | 0xFFFFFFFFFFFFFFD6 |
コンピューターは負の整数を2の補数で保存します。同じビットでも、符号付きバイトでは−1、符号なしバイトでは255を意味することがあります。この変換ツールは、8、16、32、64、128ビット、または任意の幅で、ビットパターンの両方の読み方を表示します。2進数・16進数・8進数の表現、値が収まるかラップアラウンドするか、比較用に古い1の補数と符号絶対値の表現も示します。計算はすべて正確な多倍長整数で行うため、64・128ビットの値も丸められません。
使い方
- -42のような10進数、または16進数・2進数・8進数のビットパターンを入力します。
- その数値がどの形式で書かれているかを選びます。
- ビット幅を選びます。バイトは8、intは32、longは64で、カスタム幅も指定できます。
- 符号付き・符号なしの値、ビットパターン、オーバーフローの判定を確認します。
計算式
パターン = x mod 2ⁿ · 符号付きの値 = パターン ≥ 2ⁿ⁻¹ ならパターン − 2ⁿ、そうでなければパターン
nはビット幅です。負のxは2ⁿ − |x|になり、これは|x|のビットを反転して1を足すのと同じです。nビットの符号付きの値は−2ⁿ⁻¹から2ⁿ⁻¹ − 1まで、符号なしは0から2ⁿ − 1までです。どちらの範囲にも収まらない10進数は、下位nビットだけが残ります。これはCやJavaのキャストと同じラップアラウンドです。
計算例
8ビットの−42: 256 − 42 = 214なので、パターンは1101 0110 = 0xD6で、符号なしバイトはこれを214と読みます。1の補数は1101 0101、符号絶対値は1010 1010です。16ビットでは同じ値が0xFFD6、32ビットでは0xFFFFFFD6になります。
よくある質問
負の側の範囲が1つ大きいのはなぜですか?
0が非負のパターンの1つを使うため、8ビットの符号付きバイトは−128から127までを保持します。−128には対応する正の数がなく、符号を反転するとオーバーフローして−128に戻ります。
2の補数で手計算で符号を反転するにはどうしますか?
すべてのビットを反転して1を足します。5は0000 0101で、反転すると1111 1010、1を足すと1111 1011になり、これが−5です。
オーバーフローするとどうなりますか?
ハードウェアは下位nビットだけを残します。符号なしバイトの300は300 − 256 = 44になります。Cでは符号付きオーバーフローは未定義動作なのでコンパイラがラップアラウンドさせないことがあり、JavaとC#(unchecked)はラップアラウンドします。
1の補数と符号絶対値はどこで使われますか?
現在、整数ではほとんど使われません。符号絶対値は浮動小数点の符号ビットに、1の補数はインターネットチェックサム(RFC 1071)に残っています。
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/signed-unsigned-converter/
このツールを引用する
kakaoCalc. (2026, November 8). 2の補数計算ツール(符号付き・符号なし変換). https://kakao.mobile/ja/tools/signed-unsigned-converter/
“2の補数計算ツール(符号付き・符号なし変換).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/signed-unsigned-converter/.