负数的二进制
Eijux(讨论 | 贡献)2020年10月18日 (日) 02:34的版本 (建立内容为“category:计算机基础 == 负数的二进制 == 在计算机中,'''负数以其正值的补码形式表达'''。<br/> == 补码 == 什么叫补码呢?…”的新页面)
负数的二进制
在计算机中,负数以其正值的补码形式表达。
补码
什么叫补码呢?这得从原码,反码说起。
- 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。
- 比如: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。