黑马程序员技术交流社区

标题: Byte类型到Int类型的转换 [打印本页]

作者: 王立浩    时间: 2013-1-18 15:47
标题: Byte类型到Int类型的转换
打印byte类型的16进制表示的时候

若是使用java的权限自动提升,若byte是正数还好,若是负数,因为是补码存储的而自动提升时高位补位方式类似于算数右移
也就是说会考虑符号位,此时高24位全部为1
例如byte a=0xff;
调用函数Integer.toHexString(a)时
此时转换出来的值为0xffffffff,显然打印出来的结果不对
而采用&0xff的做法,清零高24位
Integer.toHexString(a & 0xff),此时结果就对了



-------------------------------------------------------------------------
偶然看到---分享一下

作者: 陈丽莉    时间: 2013-1-18 17:01
值得学习~  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2