8位二进制的数转为10进制:
正数:
比如1,一定要转为00000001(原码),高位是0(补码等于原码),直接计算得十进制1,
负数:
比如11111111(原码),最高位是1,表示负数;符号位不变其他位取反再加一,取反为10000000(反码),然后加一为10000001(补码),表示十进制-1
十进制数转为8位二进制数:
需要引入一个概念:模
正数:
比如5,二进制数字为 00000101,正数计算机存储的数字与转化的二进制相等,为00000101
负数:
比如-5,二进制存储的数字为(256-5=251=11111011)(这里不需要考虑符号位),十进制的负数表达方式为 【十进制负数的二进制表达方式就是它绝对值的补数】,这里因为模是256,补数就是251
感谢下面两位大神: