判断Big Endian 和 Little Endian
2014-01-23 15:10
465 查看
【来源】http://www.meilei007.cn/endian/
Big Endian是按照非传统思维方式来存储数据,比方说,0x1234, 内存低位先存储数据的高位0x12, 再到下一个高位地址空间存储数据的低位0x34。每一个内存空间里面是按照Little Endian的方式来存储的不存在大小端。
Little Endian恰好相反,对于0x1234,内存低位先存储数据低位0x34,再到下一个高位地址空间存储数据高位0x12。
有一个口诀可以记住,Little Endian是正常存储,低低高高,低位存在低位,高位存在高位。
写了一个的简单算法来判断本机大小端情况:
Big Endian是按照非传统思维方式来存储数据,比方说,0x1234, 内存低位先存储数据的高位0x12, 再到下一个高位地址空间存储数据的低位0x34。每一个内存空间里面是按照Little Endian的方式来存储的不存在大小端。
Little Endian恰好相反,对于0x1234,内存低位先存储数据低位0x34,再到下一个高位地址空间存储数据高位0x12。
有一个口诀可以记住,Little Endian是正常存储,低低高高,低位存在低位,高位存在高位。
写了一个的简单算法来判断本机大小端情况:
#include <stdio.h> #include <stdbool.h> bool isBigend() { int data = 0x1234; char* test = (char*)data; return (test == 0x12); } void main() { if(isBigend()) printf("Big Endian!\n"); else printf("Little Endian!\n"); }
相关文章推荐
- 判断机器字节存储顺序是big endian还是little endian
- 判断little endian和big endian
- 如何判断big endian和little endian
- 写程序判断big endian little endian
- 判断CPU 是小端存储(Little endian)还是大端存储(Big endian)模式
- 判断计算机的字节顺序是little endian还是big endian
- 用函数判断系统是Big Endian还是Little Endian
- 判断系统中的CPU 是Little endian 还是Big endian 模式
- 判断big endian和little endian的方法
- 编写一个程序,判断系统是big endian,还是little endian
- 编一段程序判断系统中的CPU 是Little endian 还是Big endian 模式
- 更好的办法:用union判断系统中的CPU 是Little endian 还是Big endian 模式
- Big Endian 和 Little Endian
- 大端(big endian)、小端(little endian)问题
- little endian 和big endian问题全面解读
- Big Endian和Little Endian那点儿事
- 文本文件与二进制文件,little endian与big endian
- little endian和big endian
- 字节序:Big Endian 和 Little Endian
- 彻底搞懂字符编码(unicode,mbcs,utf-8,utf-16,utf-32,big endian,little endian...)