计算机中的大小端问题
1、大小端问题的由来 在计算机内存中,通常是以字节(Byte),也就是 8 个位(Bit)为基本存储单元(也有以 16 位为基本存储单元的)。 对于像C++中的char这样的数据类型,占用一个字节的大小,不会产生什么问题。 但是当数据类型为int,在32bit的系统中,它需要占用4个字节(32bit),这个时候就会产生这4个字节在寄存器中的存放顺序的问题。比如int maxHeight = 0x12345678,&maxHeight = 0x0042ffc4。具体的该怎么存放呢?这个时候就需要理解计算机的大小端的原理了。 2、大小端的原理 大端:(Big-Endian):就是把数值的高位字节放在内存的低位地址上,把数值的低位字节放在内存的高位地址上。 小端:(Little-Endian):就是把数值的高位字节放在高位的地址上,低位字节放在低位地址上。 【注】不管是大端法还是小端法存储,计算机在内存中存放数据的顺序都是从低地址到高地址,所不同的是首先取低字节的数据存放在低地址还是取高字节数据存放在低地址。 大端法和小端法指的是字节在内存中存储时的排列规则,而不是数据中的位的排列规...




