|
在计算机系统中以字节为单位,每个地址单元都对应一个字节即8bit.
不同端模式的处理器进行数据传递时必须考虑端模式的不同,在网络上传输数据时,由于数据传输的两端对应不同的硬件平台,采用的存储字节顺序可能不一致。
TCP/IP协议规定网络上必须采用网络字节顺序。
public
static
void
printLittleEndian(int
i) {
byte[]
b = new
byte[4];
b[0]
= (byte)
(0xff
& i);
b[1]
= (byte)
((0xff00
& i) >> 8);
b[2]
= (byte)
((0xff0000
& i) >> 16);
b[3]
= (byte)
((0xff000000
& i) >> 24);
for
(byte
c : b) {
System.out.print("0x"
+ Integer.toHexString(c & 0xFF)
+ ",");
}
System.out.println();
}
public
static
void
printBigEndian(int
i) {
byte[]
b = new
byte[4];
b[3]
= (byte)
(0xff
& i);
b[2]
= (byte)
((0xff00
& i) >> 8);
b[1]
= (byte)
((0xff0000
& i) >> 16);
b[0]
= (byte)
((0xff000000
& i) >> 24);
for
(byte
c : b) {
System.out.print("0x"
+ Integer.toHexString(c & 0xFF)
+ ",");
}
System.out.println();
}
|