负数的二进制

来自Wikioe
Eijux讨论 | 贡献2020年10月18日 (日) 02:34的版本 (建立内容为“category:计算机基础 == 负数的二进制 == 在计算机中,'''负数以其正值的补码形式表达'''。<br/> == 补码 == 什么叫补码呢?…”的新页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索


负数的二进制

在计算机中,负数以其正值的补码形式表达

补码

什么叫补码呢?这得从原码,反码说起。

  1. 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。
    比如:00000000 00000000 00000000 00000101 是 5 的原码。
  2. 反码:将原码按位取反。
    比如:11111111 11111111 11111111 11111010 是 5 的反码。
  3. 补码:将反码加 1 。
    比如:11111111 11111111 11111111 11111011 即 5 的补码。
    转换为十六进制:0xFFFFFFFB。


示例,-1 的二进制:

  1. 先取1的原码: 00000000 00000000 00000000 00000001
  2. 得反码:     11111111 11111111 11111111 11111110
  3. 得补码:     11111111 11111111 11111111 11111111

可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF。