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

大佬们,想请问下方法二运行结果中的最后几行会有那么多ffff,(因为我两个都没有用& 0xff),到底是哪里的问题呢

大佬们,想请问下方法二运行结果中的最后几行会有那么多ffff,(因为我两个都没有用& 0xff)

方法一:

https://img1.sycdn.imooc.com//5c90eeff00019ffb12410601.jpg

方法二:

https://img1.sycdn.imooc.com//5c90ef0e00019ffb12410601.jpg


运行结果:

https://img1.sycdn.imooc.com//5c90ef0e000165fb07890623.jpg

正在回答

2 回答

这是byte转化integer时出现的问题(因为用的是integer的方法),因为byte在java中是有正负的整数,所以转为integer是也是相应的整数,integer存储大小为4个字节,而byte为一个字节,存在相应扩展,负数是补码存储,所以是前面添1,正数是原码存储所以添0,最后转化为16进制数,前面的0省略,而1不能省略,所以通过&0xff取后八位有效位



0 回复 有任何疑惑可以回复我~

那你带上试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

大佬们,想请问下方法二运行结果中的最后几行会有那么多ffff,(因为我两个都没有用& 0xff),到底是哪里的问题呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信