判断CPU大小端模式函数实现
数据在内存中有两种存储顺序,分别称为:大端模式(Big Endian)和小端模式(Little Endian)。
- 大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;
- 小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
/*
判断CPU大小端模式
小端模式中:低位字节放在低地址,高位字节放在高地址;little-endian
大端模式中,低位字节放在高地址,高位字节放在低地址;big-endian
*/
char cpu_endian_mode(void)
{
union {
int a;
char b;
}c;
c.a = 1;
if (c.b == 1) {
/* CPU 是 小端模式 */
return 0;
}
else {
/* CPU 是 大端模式 */
return 1;
}
}