负数的二进制
跳到导航
跳到搜索
负数的二进制
在计算机中,负数以其正值的补码形式表达。
补码
什么叫补码呢?这得从原码,反码说起。
- 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。
- 比如:00000000 00000000 00000000 00000101 是 5 的原码。
- 反码:将原码按位取反。
- 比如:11111111 11111111 11111111 11111010 是 5 的反码。
- 补码:将反码加 1 。
- 比如:11111111 11111111 11111111 11111011 即 5 的补码。
- 转换为十六进制:0xFFFFFFFB。
示例,-1 的二进制:
- 先取1的原码: 00000000 00000000 00000000 00000001
- 得反码: 11111111 11111111 11111111 11111110
- 得补码: 11111111 11111111 11111111 11111111
可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF。