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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 肥洋洋 中级黑马   /  2014-5-20 21:22  /  14610 人查看  /  35 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 肥洋洋 于 2014-5-20 22:35 编辑

今天的课上有同学提问老师byte类型的-128是不是1000 0000老师竟然不知道,请问这个怎么看??是不是-128呢?最高位不是符号位嘛,这是不是可以看做-0?如果不是1000 0000,那byte的-128怎么表示?

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

35 个回复

倒序浏览
byte用八位二进制码表示一个十进制数
所以范围是-128~127也就是1000 0000到0111 1111
-128的绝对值二进制为1000 0000,取反后0111 1111。加1后是1000 0000。

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
不表示-0的,首先明确一下计算机用补码存储
然后你可以假设1000 0000是X的补码  然后用他加上+127的补码0111 1111
相加得到1111 1111这个补码为负数转换成原码为1000 0001而该原码对应的值为-1
所以1000 0000表示的是-128的补码
还有就是-128没有原码和反码,+0和-0的补码都是0000 0000

点评

应该正解了  发表于 2015-8-19 21:52

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报 1 0
我敲了半天居然被人抢先回答,脸一黑。。。
回复 使用道具 举报
youcyou 发表于 2014-5-20 21:49
不表示-0的,首先明确一下计算机用补码存储
然后你可以假设1000 0000是X的补码  然后用他加上+127的补码011 ...

厉害厉害:handshake
回复 使用道具 举报
长知识了
回复 使用道具 举报
我也来凑个热闹,运用一下自己学习的知识
1.首先说一下,源码1000 0000 是不带表-0的,源码的最高位符号,正数的最高位是0,负数的最高为是1.
2.由此源码只是针对于正负数,0既不是正数,也不是负数,所以源码1000 0000不可能为0,0的源码最高为为0不变。
3.根据负数的补码公式,-128的补码就是 1 0000 0000 - 1000 0000=1000 000 ,反码就是1111 1111,
源码就是1000 0000,其实在这里是舍去了-128的最高的进制位-1.

总结了半天 汗
回复 使用道具 举报
127+1    会是-128
回复 使用道具 举报
老师不会不知道吧。。。
回复 使用道具 举报
基础一定要搞明吧啊~
回复 使用道具 举报
我们老师说进制转换了解就可以,实在不明白就忘了吧
回复 使用道具 举报
byte用八位二进制码表示一个十进制数
所以范围是-128~127也就是1000 0000到0111 1111
-128的绝对值二进制为1000 0000,取反后0111 1111。加1后是1000 0000。
回复 使用道具 举报
来凑个热闹
回复 使用道具 举报
才疏学浅啊  看不懂的说
回复 使用道具 举报
你用计算器,10进制转2进制,转换一下,就知道结果了啊。这个还要问老师啊。嘎嘎
回复 使用道具 举报
byte是一个八位的类型,-128的绝对值是128,128的源码是1000 0000,它的反码是0111 1111,加1,则是1000 0000.补码-128的
回复 使用道具 举报
计算机中所有数据都是以补码形式存在的,先写出-128的原码,原码取反得到反码,反码再加1便得到-128的补码,即10000000
回复 使用道具 举报
丁绍然 发表于 2014-5-20 21:47
byte用八位二进制码表示一个十进制数
所以范围是-128~127也就是1000 0000到0111 1111
-128的绝对值二进制 ...

回答的非常好
回复 使用道具 举报
搞忘了,回去看下视频
回复 使用道具 举报
没研究的那么深啊               
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马