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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨森的安卓路 中级黑马   /  2016-11-10 22:39  /  1212 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1073741831转化为二进制为10000000 00000000 00000000 00000111
而10000000 00000000 00000000 00000111是-7的原码,这个怎么解,大神解答

5 个回复

倒序浏览
坐等答案
回复 使用道具 举报
坐等答案
回复 使用道具 举报
如果一个数超出了本身数据类型所限定的取值范围 二进制码就会出现问题 比如 byte类型的128的二进制的源码对应的是-128   即是超出后继续开始循环原数据类型的二进制码
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
我知道了,1073741831转化为二进制为00000000 00000000 00000000 00000000 10000000 00000000 00000000 00000111,而-7的原码可以是10000000 00000000 00000000 00000111,也可以是10000111,最高位表示的是符号(正负),谢谢,哈
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
转换的时候必须考虑数据类型,数据类型不同,表示的数据不同,byte short char表示的数值,可以是ascil 码,也可以是表示一个数字,int  long 最高位是符号位。0表示整数,1表示负数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马