Bootstrap

c语言大小端序怎么判断,C语言验证大小端的几个方法

原标题:C语言验证大小端的几个方法

大小端的问题在很多面试笔试中都会遇到,最直接的考察是,笔试的时候,让你写一个代码,如何确定当前系统是大端还是小端的。

什么是大端和小端呢?

大端:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。(CPU对操作数的存放方式是从高字节到低字节)

小端:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。(CPU对操作数的存放方式是从低字节到高字节)

假设我们的内存是这样的

c8e4d53e679aca9ab32dedd1d6b9e341.png

如果系统是大端模式的话,存储方式如下图

28f6ec0b3a30b8df8887fc1a4e7e96e8.png

好了,我们既然知道了大端和小端的存储方式不同,那就可以写代码来判断当前系统的存储模式了。

方法一

# include

intmain

{

inti = 1;

(*( char*)&i == 1) ? printf( "Little-endiann") : printf( "Big-endiann");

return0;

;