大端机与小端机介绍及其判断(C)
为什么会有大小端模式之分呢?
小端字节序存储:低位存放着低地址,高位存放着高地址
大端字节序存储:低位存放着高地址,高位存放着低地址
电脑读取内存数据时,是从低位地址到高位地址进行读取。
举例
一个整型是4个字节,如:0x1a2b3c4d。(16进制数据)
在小端机器中从低地址到高地址的存放方式为:0x4d,0x3c,0x2b,0x1a;(低地址存低位)
在大端机器中从低地址到高地址的存放方式为:0x1a,0x2b,0x3c,0x4d;(低地址存高位)
可以看出大端保存数据和我们在C中用字符数组保存字符串是一样的,顺序一致,这样的好处是可以快速判别正负。小端机则便于转换数据。
如题:
#include <stdio.h> int main() { int a = 0x11223344; char *pc = (char*)&a; *pc = 0; printf("%x\n", a); return 0; }
答案是 11223300