首先我们应该来明确一下大小端的区别:
大端:数据的低位保存在高地址,高位保存在低地址。优势是符号位存在于第一个字节,容易判断正负。
小端:数据的低位保存在低地址,高位保存在高地址。优势是强制转换数据不需要调整字节内容。
代码:
void IsBigEndian()
{
short int a = 0x1234;
char b = *(char *)&a;
if(b == 0x12){
//大端
}else{
//小端
}
}
本文详细解释了大小端格式的区别,通过示例代码演示如何判断系统是使用大端还是小端格式,并深入探讨其背后的原理。
首先我们应该来明确一下大小端的区别:
大端:数据的低位保存在高地址,高位保存在低地址。优势是符号位存在于第一个字节,容易判断正负。
小端:数据的低位保存在低地址,高位保存在高地址。优势是强制转换数据不需要调整字节内容。
代码:
void IsBigEndian()
{
short int a = 0x1234;
char b = *(char *)&a;
if(b == 0x12){
//大端
}else{
//小端
}
}
11万+
122

被折叠的 条评论
为什么被折叠?