8位二进制数中,对于-128的一些个人理解

首先,对于8位二进制中的原码、反码、补码等计算机底层原理网上有很多,大家可以自己去找找,这里就不做赘述了。

以下呢,是我对于8位二进制数中,-128的一些个人理解,希望错误之处请大家指正!
首先,-128是个什么鬼?他是怎么出现的?
-128就是二进制1000 0000(但大家肯定经历过自己的计算得知,计算出来后,结果就是个错误!别急,咱们一步步来),他的出现是因为“+0”和“-0”的关系,因为出现了两个“0”,

+0(十进制)------->0000 0000(二进制原码、反码、补码)
-0(十进制) ------->1000 0000(二进制原码),1111 1111(反码),1111 1111(补码)

所以为了唯一标识且不浪费数据资源,人为规定采用“+0”,而“-0”这个“多余”的0,不能把人家抛弃吧?那就规定作为最小的负数值了,即“-128”。
你也可以计算得出,为什么1000 0000会是-128呢?那么好。现在,咱们转到一开始,计算1000 0000的十进制结果。

原码:1000 0000
反码:1111 1111
补码=反码加一,即:

   1111 1111
+
      1
———————
  (1)0000 0000

此时计算得出1 0000 0000,由于我们知道,符号位不参与运算,那么这个结果显然错的。
那就换一种思路,将符号位 “提取出来”,即:

1000 0000 ----->1 000 0000,

求得反码为:1 111 1111,再计算其补码。
1000 0000 的补码经过计算得知:

1 1000 0000,(注意,最开头的那个1是符号位)

显然,结果为-128.
所以,在8位二进制中,

正数最大值为:0111 1111(原码)=127;最小值为:0000 0001(原码)=1
零:0=0000 0000(原码);
负数最大值为:1111 1111(原码)=-1;最小值为:1000 0000(原码)=-128。

以上呢,就是我自己对于-128的个人理解,由于是第一次写博客,其中的不足与错误之处,希望大家见谅和指正,哈哈,那就到此结束喽!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值