搜索
您的当前位置:首页正文

大小端及如何验证大小端、原码、反码和补码

来源:榕意旅游网

原码、反码、和补码

在讲解大小端之前我们必须先清楚:原码、反码及补码的概念。在上一篇 中具体讲解了概念,此处我们就不详解。在计算机系统中,数值一律用补码来表示和存储。
那为什么是以补码的形式存在呢?
我们都知道 CPU 只有加法器,那如果我们计算 1-1 应该怎么算呢? 计算机就会转换为 1+(-1)

大小端

下面我们以代码为例:

我们用一个更加明显的数字来查看:

验证机器大小端

我们封装一个函数用来验证机器的大小端

#include <stdio.h>
int check_sys(void)
{
	int a=1;
	char* p=(char*)&a;
	return *p;
}
int main()
{
	int ret=check_sys();
	if(ret==1)
		printf("小端\n");
	else
		printf("大端\n");
	return 0;
}

这里为什么定义为 char* ,前面 讲过了,此处就不详解了。通过我们封装的这个代码,就可以判断机器是大端还是小端了。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top