判断CPU大小端模式
2017-01-16 23:36
302 查看
int CheckCpuEndian(void) { union { int a; char b; }c; c.a=1; return (1 == c.b); }
返回1为LittleEndian。
联合体union的存放顺序是所有成员都从 低地址 开始存放,
若是小端模式,由低地址到高地址存放为0x01 00 00 00,c.b被赋值为0x01
CPU有两种字节序:Little endian 和Big endian
LittleEndian:低位字节数据存放于低地址;高位字节数据存放于高地址
BigEndian:低位字节数据存放于高地址;高位字节数据存放于低地址
对于数据0x12345678,在内存中存放的顺序如下:
LittleEndian:
地址:0x6000 0x6001 0x6002 0x6003
数据: 0x78 0x56 0x34 0x12
BigEndian:
地址:0x6000 0x6001 0x6002 0x6003
数据: 0x12 0x34 0x56 0x78
相关文章推荐
- 判断一个CPU大小端模式
- 判断一个CPU大小端模式
- C语言判断机器CPU大小端模式的两种方法
- 判断CPU大小端模式
- 判断CPU模式是大端还是小段(big-Endian和little-Endian)
- Linux判断CPU是32位还是64位,判断系统是32位还是64位
- 如何判断linux下物理cpu数,核数以及是否支持超线程
- 判断CPU是否64位,以及linux操作系统是否64位
- 判断cpu是大端模式还是小端模式
- Linux驱动:TI达芬奇系列kernel中cup类型的判断,以cpu_is_ti81xx()为例
- 【C语言】溢出的处理及大小端模式的判断
- 32位和64位CPU、操作系统的区别 + 判断、使用建议
- Android 如何判断CPU是32位还是64位
- 如何判断机器CPU是大端模式还是小端模式
- Linux CPU数量判断,通过/proc/cpuinfo.
- LINUX和windows下如何判断CPU和系统是32位还是64位
- 对于大小端模式的判断
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端
- C语言程序判断计算机的CPU大小端