c语言练习题52:写一个函数判断当前机器是大端还是小端

代码:

#include
int check_sys() {
	int a = 1;
	return *(char*)&a;//小端retrun 1 大端return 0;
}
int main() {
	if (check_sys() == 1) {
		printf("小端\n");
	}
	else
		printf("大端\n");
}

这里首先取a的地址,强制转换成char*之后再解引用,也就是将a地址的第一个字节取出来看值了。参考上面的表格,如果是小端存储,那么a地址里的第一个字节就是01,否则是00。这样就实现了大小端的判断。

理解大小端字节序:

c语言练习题52:写一个函数判断当前机器是大端还是小端_第1张图片

 c语言练习题52:写一个函数判断当前机器是大端还是小端_第2张图片

c语言练习题52:写一个函数判断当前机器是大端还是小端_第3张图片

大小端字节序指的是数据在电脑上存储的字序节顺

你可能感兴趣的:(c语言,算法,开发语言)