一个int数值按照规格“占2个字节,低位在前,高位在后” 用JAVA怎么实现。举例65535会是多少?

如题所述

65535是个不当的例子,
二进制的2个字节
11111111 11111111
谁先随后都没有区别。

“低位在前,高位在后”是小端数
Java在输出时可以
short s=(short)0xABCD;//原数ABCD二个字节
byte a[]=new byte[2];//准备两个字节
a[0]=(byte)(s&0xff); //获得低位字节
a[1]=(byte)(s>>>8);//获得高位字节
outputstream.write(a);//在输出流把数组a依次写入,就写了一个小端数。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-19

int类型应该占4个字节。低位在前,高位在后。short类型才占2个字节。

我猜你是想知道int如何转换为字节数组(4个)。

public static byte[] convertByteArray(int n) {
    byte[] buf = new byte[4];
    for (int i = 0; i < buf.length; i++) {
        buf[i] = (byte) (n >> i & 0xff);
    }
    return buf;
}

纯手打,如有错误请追问,谢谢。(未测试,不过应该可用)

————————————————————————————

刚刚发现搞忘转换为byte类型了,后面少了个分号,已经修正。

本回答被网友采纳
相似回答