课程
/后端开发
/Java
/文件传输基础——Java IO流
字节数组中的元素不是已经分开了吗,为什么还要分别取后8位?
2016-01-11
源自:文件传输基础——Java IO流 3-1
正在回答
在32位的电脑中数字都是以32格式存放的,如果是一个byte(8位)类型的数字,他的高24位里面都是随机数字,低8位才是实际的数据。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用& 0XFF操作,可以把高24位置0以避免这样错误的发生。
举报
为您介绍IO流的使用,以及对象的序列化和反序列化的内容
5 回答为什么4-1中的例子补0,不需要&0xff,但是用字节数组byte[i]比较的时候要&0xff
4 回答关于String转化为byte数组后,不进行&0xff,打印出的结果,上图,为什么是这样,汉字的一个字节前面为什么有那么多的1
1 回答为什么要转换成16进制输出?
2 回答b已经是8位byte类型,为什么要用0xff来去掉前面的24位呢?
1 回答为什么转换成16 进制方式显示