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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

IO流自定义字节流的缓冲区中(第19天视频)
比老师讲到 public int myRead() 方法返回是int型
比如说byte型的-1   ——》11111111     
int型-1怎么会是1111111 11111111 1111111 1111111

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
本帖最后由 sp000 于 2012-11-27 22:21 编辑

byte (字节)就等于 8 位的二进制, byte型的-1   ——》1111-1111
int  占4个字节 所以 int型-1怎么就是1111-1111 1111-1111 1111-1111 1111-1111
int = 4倍的 byte,   这样就明白了吧!
加油

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
sp000 发表于 2012-11-27 22:19
byte (字节)就等于 8 位的二进制, byte型的-1   ——》1111-1111
int  占4个字节 所以 int型-1怎么就是111 ...

你能解释一下-2的值是多少?
回复 使用道具 举报
本帖最后由 ljhheima 于 2012-11-28 12:53 编辑

这是补码的表示形式,它加1要等于0。无论是int还是byte,-1的值都是0-1;-2则是0-2;
byte分别为:11111111    和 11111110。
int 分别为:11111111 11111111 11111111 11111111 和 11111111 11111111 11111111 111111110
还有你的int型-1写错了,写少了一些1,一字节8位的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马