二进制补码计算器 支持十进制、二进制、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: 任意精度整数,内部使用补码
- 位运算: 移位、掩码、异或
参考资料: 二补数 - 维基百科
各编程语言中,十进位转二进位的方式
| Java | Integer.toBinaryString(decimal_number) |
| JavaScript | let binary = decimal_number.toString(2); |
| Microsoft .NET / C# | string binary = Convert.ToString(decimal_number, 2); |
| Python | binary = bin(decimal_number)[2:] |
| Ruby | binary = decimal_number.to_s(2) |
| Go | import strconv binary := strconv.FormatInt(decimal_number, 2) |
X