今天看了一下CSAPP的内容,发现CSAPP这本书的内容写的更加生动。
以大端模式和小端模式为例,我依稀记得我上大学时,大端和小端是两个枯燥文本,就是背书上的概念,也不知道为啥会有一个大端和小端,更别说背后的故事。
背后的故事就是大小端就是一个无所谓对与错的问题,知道这个概念就好。
那么大小端是什么:
- 大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。
- 小端字节序:低位字节在前,高位字节在后,即以
0x1122
形式储存。
对应的图片是:以0x1234567为例。
上面的图片里面,0x100,0x101,0x102,0x103表示的是内存一个字的位置编号,也就是内存的1byte,长度是8bit。0x01234567有4个byte长,需要占用4个空格。
一般来说,使用内存是按递增的顺序使用。比如说我先使用内存位置为1的内存,用完1号以后,再用2号。那么这个时候,我如果在一号柜里面放的是0x01打头的数,这就是大端存储,反正则是小端。