对于超过1个字节的数据,我们就需要区分高字节和低字节,比如对于一个2byte(16bit)的整数(如0X1234,即数字4660),这里0x12是 0x1234 的高字节部分,0x34是低字节部分。需要注意因为区分了高字节和低字节,数据在内存中的表示就有了很多可能:
这个是因为我们内存、存储等数据都是按字节(也就是8位来表示的),但实际数据很多都是超过8位的,对此,我们需要规定一个规范来使得保存和使用时能够准确不出错。要存储到内存中,因为要分成2个字节,就要规定到底数据的第1个字节是表示的什么,即在内存中是 0x12,0x34 这样的存储还是 0x34,0x12这样的存储。这样的不同策略就是俗称的小端模式或者大端模式。
在一个独立的系统中,只要选择一个稳定的模式就可以保证内部不出错,但很多时候系统需要和外部交换,这时就要协商交换协议,有时就存在两种存储模式的转换问题啦。
十进制中比如说234;那2就是最高位,3是次高位,4就是低位。
十六进制也是一样,0xF544中,高位是F5,低位是44
高位就是低位的进位
高低字节对应的数据进制是16进制,计算机传输的是二进制数据0和1。8个0或者1就组成1个字节。
1个16位的数据就会分高低字节;高字节是8位,低字节也是8位。每个字节对应的最大数是255.
举个例子吧
一个数据,0x1234
那么高字节就是0x12
低字节就是0x34
高字节就是用于保存高位数据的那个字节,低字节就是用于保存低位数据的那个字节
比如16位数据,高字节保存8-15位,低字节保存0-7位,0x0123,0x01就是高字节,0x23就是低字节