在计算机中,最终存储和处理的数据都是由 0 和 1 组成的,二值信息在计算机中能够更容易的被表示、存储和传输,比如晶体管中的高电压信号表示 1 ,低电压信息表示 0。
基本概念
寻址和字节顺序
一个 int 类型的数据变量 a(如为 19088743,十六进制为 0x01234567) , 它是需要多个字节来存储数据内容的,假设变量 a 地址为 0x100,那么 a 的 4 个字节将被存储在存储器的 0x100, 0x101, 0x102 和 0x103 位置。
十六进制 0x01234567 中的低位是 67 ,高位是 01。
有些机器选择在存储器中按照从最低有效字节到最高有效字节的顺序存储对象 - 最低有效字节在最前面,称为 小端法(little endian);
有些机器选择在存储器中按照从最高有效字节到最低有效字节的顺序存储对象 - 最高有效字节在最前面,称为 大端法(big endian)。
在自己写二进制的传输协议时,如果在不同类型的机器之间通过网络传送二进制数据,需要注意两端都需要使用相同方法读取数据。
原文:https://www.cnblogs.com/ysfdm/p/csapp-hex.html