2の補数計算機 10進数、2進数、1の補数、2の補数間の変換をサポート

変換結果

2の補数計算機:プログラマー必須ツール

符号付き数に完全対応し、10進数と2進数を簡単に変換。1の補数と2の補数を即座に計算。コンピューターアーキテクチャと低レベルプログラミングに不可欠です。

✨ コンバーターの機能

  • 10進数 → 2進数: 正負の数をサポート
  • 2進数 → 10進数: 符号付きと符号なしをサポート
  • 1の補数計算: ビット反転
  • 2の補数計算: 1の補数 + 1
  • 逆変換: 補数から元の2進数へ
  • ビット長: 8, 16, 32, 64ビット

💡 2の補数とは?

2の補数(Two's Complement)は、現代のコンピューターで符号付き数を表現するための標準的な方法です。

1の補数: 全てのビットを反転(0→1, 1→0)

2の補数: 1の補数 + 1

例(8ビット):

  • 元の2進数:00001010 (+10)
  • 1の補数:11110101
  • 2の補数:11110110 (-10)

🛠️ なぜ2の補数を使うのか?

ハードウェアの利点:

  • 統一された演算: 加算と減算が同じ回路を使用
  • 単一のゼロ: 0の表現が1つだけ(+0/-0がない)
  • 対称的な範囲: nビットの場合:-2ⁿ⁻¹ から +2ⁿ⁻¹-1
  • 簡単な比較: 符号なし整数として直接比較可能

2の補数を使った減算の例:

A - B = A + (-B) = A + 2の補数(B)

5 - 3 = 5 + (-3) = 0101 + 1101 = 0010 = 2

💻 プログラミングでの応用

  • C/C++: int, short, long 型は2の補数を使用
  • Java: 全ての整数型は符号付き(2の補数)
  • Python: 任意精度整数、内部で2の補数を使用
  • ビット演算: シフト、マスク、XOR

参考資料: 2の補数 - Wikipedia

各プログラミング言語での10進数からバイナリへの変換方法

JavaInteger.toBinaryString(decimal_number)
JavaScriptlet binary = decimal_number.toString(2);
Microsoft .NET / C#string binary = Convert.ToString(decimal_number, 2);
Pythonbinary = bin(decimal_number)[2:]
Rubybinary = decimal_number.to_s(2)
Go import strconv
binary := strconv.FormatInt(decimal_number, 2)
X