您的位置:首页 > 编程语言 > C语言/C++

测试编辑器属哪种模式,使用C语言判断处理器的大小端

2011-01-30 16:05 302 查看
1.测试编辑器属哪种模式

下面这段代码可以用来测试一下你的编译器是大端模式还是小端模式:

short int x;

char x0,x1;

x=0x1122;

x0=((char*)&x)[0]; //低地址单元

x1=((char*)&x)[1]; //高地址单元

若x0=0x11,则是大端; 若x0=0x22,则是小端......

上面的程序还可以看出,数据寻址时,用的是低位字节的地址。

short int x;
	char x0, x1;
	
	x = 0x1122;
	x0 = ((char*)&x)[0]; // 低地址单元
	x1 = ((char*)&x)[1]; // 高地址单元
	printf("x0 = 0x%x, x1 = 0x%x /n", x0, x1);	// x0 = 0x22, x1 = 0x11


输出:x0 = 0x22, x1 = 0x11

则表示当前编译器使用的是小端模式



2.使用C语言判断处理器的大小端

int checkCPU() 
{
	{
		union w
		{
			int a;
			char b;
		} c;
		
		c.a = 1;
		
		return (c.b == 1);
	}
}

printf("checkCPU:%d/n", checkCPU());		// Output "checkCPU:1"


输出:checkCPU:1

表示处理器为小端模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: