为了账号安全,请及时绑定邮箱和手机立即绑定

如何判断一个二进制数是一个正数还是一个负数的补码形式

如题,负数的第一个一定是1么。给你一个二进制数,怎么确定他是负数还是正数

正在回答

3 回答

最高位就是符号位,看最高位就行了。8位二进制,最高位是符号位,后7位表示范围。

0 回复 有任何疑惑可以回复我~

这样,我刚刚也刚好思考到这个问题,比如1001 0000这个二进制数 你说它是正还是负数呢,分类讨论一下,first这个是正数,那么(1001 0000)=144 8位二进制数最大才127 很明显,它超出范围了,所以自然是负数,你可以根据范围判断,溜了,希望对你有帮助

0 回复 有任何疑惑可以回复我~
#1

茂森

八位二进制数最大应该是255啊,怎么会是127呢。。
2019-02-19 回复 有任何疑惑可以回复我~
#2

no4990 回复 茂森

因为最高位是符号位,所以整数最大为01111 1111 = 127
2019-07-03 回复 有任何疑惑可以回复我~

第一个数是1,则为负数

0 回复 有任何疑惑可以回复我~
#1

qwertyuioplkjh 提问者

那为什么不可能是一个正数,比如11001111,怎么判断是207还是-49
2017-10-21 回复 有任何疑惑可以回复我~
#2

未来年薪百万的安卓工程师 回复 qwertyuioplkjh 提问者

你要看这个数字有没有省略的部分,例如这例子中的-14,老师省略的前面3个字节的1。 所以判断正负就是看最高位是否为1
2018-05-17 回复 有任何疑惑可以回复我~
#3

qq_天马行空_48

不懂别张嘴就来
2018-07-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
二进制基础
  • 参与学习       99871    人
  • 解答问题       210    个

二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识

进入课程

如何判断一个二进制数是一个正数还是一个负数的补码形式

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信