基本理解是,字节(十六进制 xx )是最小的处理单位。
如果一个数字是 4 个字节,假设是0x12345678,假设通过网络传输过来后,计算机
- 大端存储:按
12 | 34 | 56 | 78的顺序存储这个数字 - 小端存储:按
78 | 56 | 34 | 12的顺序存储这个数字。
计算机是从低电路读取数据的。上面的78 | 56 | 34 | 12和78 | 56 | 34 | 12,从左往右,电位是逐渐递增的,也就是读的顺序是从左读到右。所以大端下,计算机先读数字的高位,小端下先读数字的低位。
存储数字是这样的。但有疑问:
- 如果连续存储两个数字,那会是什么样子的?比如
0x1234和0x5678,最后小端的存储内容是12 | 34 | 56 | 78吗?小端是34 | 12 | 78 | 56还是78 | 56 | 34 | 12?大小端咋区分这两个数字(怎么知道它是两个,而不是一个数字?) - 如果是字节流,也有大小端存储之分吗?我的理解是,来一个字节就存一下,似乎没必要分大小端。