以8位二进制整数为什么最小数是-128的问题

8位二进制的数转为10进制:

  正数:

    比如1,一定要转为00000001(原码),高位是0(补码等于原码),直接计算得十进制1,

  负数:

    比如11111111(原码),最高位是1,表示负数;符号位不变其他位取反再加一,取反为10000000(反码),然后加一为10000001(补码),表示十进制-1

十进制数转为8位二进制数:

  需要引入一个概念:模

  正数:

    比如5,二进制数字为 00000101,正数计算机存储的数字与转化的二进制相等,为00000101

  负数:

    比如-5,二进制存储的数字为(256-5=251=11111011)(这里不需要考虑符号位),十进制的负数表达方式为 【十进制负数的二进制表达方式就是它绝对值的补数】,这里因为模是256,补数就是251

 感谢下面两位大神:

参考地址一

参考地址二

原文地址:https://www.cnblogs.com/patrick-king/p/11578620.html