【C语言】判断计算机是大端存储还是小端存储(两种方法) |
您所在的位置:网站首页 › c语言中文件的储存方式 › 【C语言】判断计算机是大端存储还是小端存储(两种方法) |
文章目录
一、什么是小端存储和大端存储?二、两种实现方式1.直接访问地址2.使用共用体特性查看
总结
一、什么是小端存储和大端存储?
存储方式: 小端存储:高位存在高地址上,低位存在低地址上大端存储:高位存在低地址上,低位存在高地址上看到这可能还一知半解,看我下面给分析分析,你一定会明白的! 例如:short val = 0x0001;先谈谈当程序运行时,这个数据是在内存上怎样存放的; 简单分析下这个十六进制数0001; 一、分析过程: 32位的计算机,short占用两个字节的大小,换算成16个bit位,每个十六进制数的一个位占用4个bit位,十六进制数0001占用4*4 = 16个bit位 二、所以这个数据在内存上是怎样存储的呢? 小端存储![]()
仔细阅读下面的代码后就恍然大悟了 二、两种实现方式 1.直接访问地址 #include typedef short int_16; typedef enum Mode { SMALL = 0, BIG = 1 }Mode; Mode SmallOrBig() { Mode mode = SMALL; //默认小端 int_16 val = 0x0001; if(*((&val) + 1) == 1) { mode = BIG; } return mode; } int main() { if(SmallOrBig() == SMALL) { printf("small\n"); return 0; } printf("big\n"); }结果:可以看到是小端存储 结果:小端 大小端比较的简单,但还是比较重要!!!!恭喜你又学会了一个知识点!!!! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |