在计算机系统中以字节为单位,每个地址单元都对应一个字节即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();
}