前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2020-12-20:为什么整型的最小负数的绝对值比最大正数大1?

2020-12-20:为什么整型的最小负数的绝对值比最大正数大1?

原创
作者头像
福大大架构师每日一题
修改2020-12-21 11:27:53
7240
修改2020-12-21 11:27:53
举报

福哥答案2020-12-20:

两条规则:

规则1:最高位为1的数,必须取反加1后,才能按权展开计算出值,最后取相反数。

规则2:最高位为1的数是负数,最高位为0的数是非负数。

实例如下:

A=1111 1011取反加1后是B=0000 0101,这个时候可以按权展开了,B按权展开后是5,所以A=-5。

A=1000 0000取反加1后是B=1000 0000,这个时候可以按权展开了。根据规则1,B按权展开后是128,所以A=-128。B本来是128,但为了迎合规则2,所以B=-128,而不是128。所以最小负数的绝对值比最大正数大1。

有人说是为了避免+0和-0,其实并不是。0000 0000取反加1后还是0000 0000,也就是说0的补码就是0。

在这里插入图片描述
在这里插入图片描述

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com