java short 转 byte
要将short数组转换为byte数组,可以使用循环遍历short数组,然后将每个short值转换为byte值,并将其存储在新的byte数组中。以下是一个示例代码:
public static byte[] shortToByte(short[] shortArray) {
int length = shortArray.length;
byte[] byteArray = new byte[length * 2]; // short类型占两个字节
for (int i = 0; i < length; i++) {
byteArray[i * 2] = (byte) (shortArray[i] >> 8); // 高位字节
byteArray[i * 2 + 1] = (byte) shortArray[i]; // 低位字节
}
return byteArray;
}
在上面的代码中,我们首先创建一个长度为shortArray.length * 2的byte数组,因为每个short值占两个字节。然后,通过循环遍历short数组,将每个short值转换为byte值,并分别存储在新的byte数组的高位字节和低位字节位置上。最后,返回转换后的byte数组。
使用示例:
short[] shortArray = {1, 2, 3, 4, 5};
byte[] byteArray = shortToByte(shortArray);
for (byte b : byteArray) {
System.out.print(b + " ");
}
输出结果:
0 1 0 2 0 3 0 4 0 5
请注意,这种转换会丢失short值的精度,因为byte类型的范围为-128到127。如果short值超出了该范围,转换后的byte值可能不正确
原文地址: http://www.cveoy.top/t/topic/iHsM 著作权归作者所有。请勿转载和采集!