byte b = 10; int i = b; // 自动类型转换,将byte转换为int System.out.println(i); // 输出结果为10 复制代码 以下是将int转换为byte的示例代码: int i = 10; byte b = (byte) i; // 强制类型转换,将int转换为byte System.out.println(b); // 输出结果为10 复制代码 需要注意的是,当将int...
int <-> byte[] 代码转自:java int 与 byte转换 public static byte[] toByteArray(int iSource, int iArrayLen) { byte[] bLocalArr = new byte[iArrayLen]; for (int i = 0; (i < 4) && (i < iArrayLen); i++) { bLocalArr[i] = (byte) (iSource >> 8 * i & 0xFF); } re...
或 intx = ((b[0] &0xFF) <<24) | ((b[1] &0xFF) <<16) | ((b[2] &0xFF) <<8) | ((b[3] &0xFF) <<0); 因为在Java里是有符号扩展, 并且byte(如b[0])在取出来后已经被转换成了int, 所以需要0xFF来转换一下。 看到有说法说是为了转换成无符号数,如一个byte为fe, 则实际表现...
1. byte到int:将byte类型的值乘以2的8次方(因为一个byte由8位组成),然后将其结果转换为int类型。例如,将byte类型的值-128转换为int类型,首先将-128乘以2的8次方,得到-1024,然后将结果转换为int类型。 2. int到byte:将int类型的值除以2的8次方(因为一个byte由8位组成),然后将其结果转换为byte类型。例如,...
Java中的int和byte是两种不同的数据类型,int是整数类型,占用4个字节,而byte是字节类型,占用1个字节。在某些场景下,我们需要在这两种类型之间进行转换。本文将介绍Java中int和byte之间的转换方法,并提供代码示例。 1. int转换为byte 要将int转换为byte,我们可以使用Java中的类型转换操作符(),将int类型的数据转换为...
java中byte,byte[]和int之间的转换 1>byte类型转换为,直接隐式转换,适⽤于要求保持数值不变,例如要求进⾏数值计算如 byte b=0x01; int i=b;2>另⼀种是要求保持最低字节中各个位不变,3个⾼字节全部⽤0填充,例如进⾏编解码操作,则需要采⽤位操作,int i=b & 0xff;3>byte[]数组和int...
public void intToByte() { // -128 到 127 int i = 1; byte b = (byte)i; Assert.assertTrue(b==1); i = -1 ; b = (byte)i; Assert.assertTrue(b==-1); //超过127 i = 128 ; b = (byte)i; Assert.assertTrue(b==-128); ...
public int bytesToInt(byte[] bytes){ return bytes[0]<<24 |(bytes[1]&0xff)<<16 |(bytes[2]&0xff)<<8 |(bytes[3]&0xff); } 对于不正常的情况,比如3个byte转换为int,则第一个左移16位,第二位与0xff后左移8位,第三位与0xff,然后进行或运算即可。
/** * 将int转为高字节在前,低字节在后的byte数组(大端) * @param n int * @return byte[] */ public static byte[] intToByteBig(int n) { byte[] b = new byte[4]; b[3] = (byte) (n & 0xff); b[2] = (byte) (n >> 8 & 0xff); b[1] = (byte) (n >> 16 & 0xff...
byte数组转为int 有两种原理, 一种是先左移动24位,在无符号右移 对应的是byte2int3 另外一种是 先移动 在把干扰的和0做与操作,消除干扰(byte负数的时候 右移时左边都是1,这个时候是有干扰的) 对应的是byte2int2 还有就是这两种的结合了 对应byte2int 注意这个转成