原标题:C语言验证大小端的几个方法
大小端的问题在很多面试笔试中都会遇到,最直接的考察是,笔试的时候,让你写一个代码,如何确定当前系统是大端还是小端的。
什么是大端和小端呢?
大端:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。(CPU对操作数的存放方式是从高字节到低字节)
小端:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。(CPU对操作数的存放方式是从低字节到高字节)
假设我们的内存是这样的
如果系统是大端模式的话,存储方式如下图
好了,我们既然知道了大端和小端的存储方式不同,那就可以写代码来判断当前系统的存储模式了。
方法一
# include
intmain
{
inti = 1;
(*( char*)&i == 1) ? printf( "Little-endiann") : printf( "Big-endiann");
return0;