
大小端的概念
大小端的问题主要是由计算机内存中多字节形数据类型的存在而引起的,他的研究单位是字节,对于char行数据类型,就是一个字节,八位,是不存在大小端问题的;但是对于short、int、float等数据类型,表示一个数据需要多个字节,那么这多个字节之间的顺序就十分重要了。
Big-Endian和Little-Endian的定义如下:
Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
①大端模式://符合正常读写思维
低地址 ----------------->高地址
0x12 | 0x34 | 0x56 | 0x78
②小端模式:
低地址 ------------------>高地址
0x78 | 0x56 | 0x34 | 0x12
③举例如下:
④大端小端没有谁优谁劣,各自优势便是对方劣势:
大端: ※符号位在所表示的数据的内容的第一个字节中,便于快速判断数据的正负(offset(0))和大小。
小端:易于进行数据类型转换,1、 2、 4字节的存储方式一样。
※低地址放低字节,所以在强制转换时不需要调整字节的内容
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)