计算机中的大端、小端

需要掌握:字节中的高位、低位

字节序

指 多字节 数据在计算机 内存中存储 或者 网络传输时 各字节的存储顺序

有 大端 和 小端 两种方式

应用场景

在底层开发中常用到,如C语言中
在底层网络开发中常用到
Java与C语言传输数据时

大端

大端(Big-Endian),指 高位字节 存放在内存的 低地址端,低位字节 存放在内存的 高地址端。

例子

十六进制整数 0x01020304 在内存中存储方式,由于一个整型在内存中占 4个字节,因此被划分成 4份 分别存储在 连续的内存地址位中

如下图:

小端

小端(Little-Endian),指 低位字节 放在内存的 低地址端,高位字节 放在内存的 高地址端

例子

十六进制整数 0x01020304 在内存中的存储方式如下图:

为什么有大端、小端

与 CPU架构有关,IA架构(Intel、AMD)的CPU中是Little-Endian,而PowerPC 、SPARC和Motorola处理器是Big-Endian

Java与大端、小端

Java是跨平台的,与CPU无关,默认是大端
也可以改为小端

参考:
https://zhuanlan.zhihu.com/p/510962688
https://blog.csdn.net/weixin_39739661/article/details/114130464