A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© silentCat 中级黑马   /  2015-10-9 18:12  /  1740 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

原码    1000 0000
取反    1111 1111
加一 1 0000 0000
相当于多出一个bits
如果位运算符不参与加一,则补码
是     1 1000 0000
这个是什么机制

4 个回复

倒序浏览
8位二进制补码是采用最高位来表示符号,低7位来表示数值大小的一种编码.8位二进制码有256种状态,可以表示256个数.如果表示范围是-127~+127的话,那就会存在两个0,就是+0和-0.而实际上,0是没有正负的,不需要有两个0.因此,就用+0(00000000)来表示0,而用-0(10000000)来表示-128,因为10000000=128,而恰好它的最高位即符号位=1表示负数.这是人为规定的,但这个规定与二进制补码规则不矛盾.
回复 使用道具 举报 1 0
最高位为1  
回复 使用道具 举报
二进制前第一个数字是0,是正数,1则是负数
回复 使用道具 举报
666666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马