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

byte a= -1; System.out.print(a);

byte a= -1; System.out.print(a);

慕粉13546656149 2016-09-10 09:17:29
在main方法中打印结果为什么是127呢?那么byte型中的-1怎么表示???
查看完整描述

6 回答

?
望远

TA贡献1017条经验 获得超1032个赞

不会吧,输出不就是-1吗??

57d375ec000191a601280048.jpg

57d375ec0001ac9d05000086.jpg


查看完整回答
2 反对 回复 2016-09-10
?
慕瓜4807886

TA贡献25条经验 获得超9个赞

byte a= -1; 输出的确实是-1,你也可以用byte a=(byte)0Xff;这个来表示-1,后面因为0xff表示的是int型而且超出了byte的范围,所以进行了类型转换,取到了补码,所以代表的也是-1

查看完整回答
反对 回复 2016-09-10
?
qq_风_130

TA贡献1条经验 获得超0个赞

-1的补码是127然而你是如何输出补码,不应该啊

查看完整回答
反对 回复 2016-09-10
?
噼喱啪啦

TA贡献392条经验 获得超170个赞

这背后一定隐藏着一个天大的秘密!

查看完整回答
反对 回复 2016-09-10
?
慕粉13546656149

TA贡献5条经验 获得超3个赞

弄错了。
应该是
byte=0xff

查看完整回答
反对 回复 2016-09-10
?
云雀

TA贡献7条经验 获得超6个赞

我的输出就是-1呀?你用的什么编译器,什么语言?

查看完整回答
反对 回复 2016-09-10
  • 6 回答
  • 0 关注
  • 1900 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信