linux下 C语言 大小端测试

大端模式是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中

小端模式是指数据的低字节保存在内存的低地址中,而数据的高字节保存在内存的高地址中


linux下 C语言 大小端测试_第1张图片

(图一)


(图二)

此为我在x32 ubuntu17.04虚拟机的测试结果,结果证明其为小端模式

a ==0x3111 当我把它赋值给一字节的char类型p时,肯定会产生字节丢失,问题是会丢失哪一部分?那么问题来了。计算机读数据是从低地址向高地址进行读取的,也就是说,计算机会把a的较低的地址的一字节中的值给p.由此,我可以根据它输出的值来判断我的编译器是大端,还是小端。如果是11,则说明a的低字节保存在了内存的低地址中,即为小端模式;同理,若是31,则为大端模式。



你可能感兴趣的:(linux,c语言,大小端)