二进制补码计算器 支持十进制、二进制、1的补码和2的补码之间的转换

转换结果

二进制补码计算器:程序员必备工具

在十进制和二进制之间轻松转换,全面支持有符号数。即时计算1的补码和2的补码。是计算机体系结构和底层编程的必备工具。

✨ 转换器功能

  • 十进制 → 二进制: 支持正数和负数
  • 二进制 → 十进制: 支持有符号和无符号
  • 计算1的补码: 位反转
  • 计算2的补码: 1的补码 + 1
  • 反向转换: 从补码到原始二进制
  • 位长度: 8, 16, 32, 64位

💡 什么是补码?

补码(Two's Complement)是现代计算机中表示有符号数的标准方法。

1的补码: 反转所有位(0→1, 1→0)

2的补码: 1的补码 + 1

示例(8位):

  • 原始二进制:00001010 (+10)
  • 1的补码:11110101
  • 2的补码:11110110 (-10)

🛠️ 为什么要使用补码?

硬件优势:

  • 统一运算: 加法和减法使用相同的电路
  • 唯一的零: 只有一个0的表示(没有+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 类型使用补码
  • Java: 所有整数类型都是有符号的(补码)
  • Python: 任意精度整数,内部使用补码
  • 位运算: 移位、掩码、异或

参考资料: 二补数 - 维基百科

各编程语言中,十进位转二进位的方式

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