当前位置: 首页 > news >正文

C 如何判断当前系统使用的是大端还是小端

今天使用%lx格式打印了一下小数33.3的16进制形式;输出为4040a66666666666;在打断点的时候查看了下内存中其存储如下图:
image
从上图看,随着内存增大,先存储低位数据再存储高位数据,这明显是小端存储的风格;(关于大小端可以看我的这篇博客:C 大端存储与小端存储)

我的思考:如何让别人快速知道自己的系统是大端还是小端存储?

在网上找到了其他博主的思路:

  • 对于1这个整数,由于清楚它的2进制和16进制表示形式:0000 0000 0000 0000 0000 0000 0000 0001 (2进制) 00 00 00 01 (16进制)
  • 如果是小端存储,那么在内存中它的存储形式应该是:01 00 00 00;如果是大端存储,那么在内存中它的存储形式应该是:00 00 00 01
  • 巧用地址法,将存储1的变量a的地址交给char类型指针pchar;这样使用*pchar取值后得到的正好是第一个字节处的值;
  • 定义一个范围值为int的函数,将*pchar返回。
    代码如下
#include <stdio.h>int is_little_endian() {int a = 1;char *pchar = (char *) &a;return *pchar;
}int main(void) {printf("当前系统是否为小端存储: %d\n", is_little_endian());return 0;
}
//输出:当前系统是否为小端存储: 1
http://www.jsqmd.com/news/28374/

相关文章:

  • 2025年11月仓储管理系统推荐排行榜单:五大系统综合对比与选购指南
  • 2025年11月益生菌品牌推荐评价:从菌株认证到功效验证的全面对比
  • 2025年11月GPU服务器公司推荐榜单:五家优质服务商综合对比分析
  • 基于GIS的工程项目管理系统
  • 基于GIS的工程项目管理系统
  • 2025年11月GPU服务器公司评价排行:深度解析与实用指南
  • 2025年11月GPU服务器厂商推荐排行:服务能力与成本效益综合评估
  • 2025年11月美国投资移民机构排行榜:全面评测与选择建议
  • 2025年11月市场地位认证机构权威排行:专业评测与选择建议
  • 2025年唐卡装饰权威深度解析与推荐:家装行业资金安全保障机制探析
  • 2025年唐卡装饰权威深度解析推荐:家装资金托管模式与透明化服务机制剖析
  • 记一次vscode 自动格式化保存经历
  • 2025年11月美白精华专业评测榜:基于成分与实测数据的客观排行
  • 退役高二选手的CSP2025游记
  • 2025年唐卡装饰权威深度解析与推荐:家装资金安全与数字化服务新标杆
  • 2025年11月美白精华产品推荐榜单:五大热门产品深度对比分析
  • 2025年11月人形机器人落地商推荐榜:基于行业白皮书与多维度数据的权威分析
  • Oracle数据库异常断电后无法启动?
  • 轻松打造自己的专属输入法
  • Oracle 11g数据泵一键备份脚本,无需授权
  • 实践!Oracle 11g 数据库级别最佳参数优化
  • 2025年11月膨润土厂家推荐榜单:五家优质企业综合对比分析
  • 深入解析Oracle SQL调优健康检查工具(SQLHC):从原理到实战优化
  • Oracle数据库远程无法连接怎么办?
  • Oracle手工完全恢复的几种方式
  • 2025年11月膨润土厂家推荐榜单:权威测评与综合排名分析
  • Windows版本Oracle 11g一键巡检脚本
  • 2025年11月污水环保设备厂家排行对比:专业顾问视角的深度评测分析
  • 力扣|二叉树|二叉搜索树最近节点查询|二叉搜索树中第k小元素
  • 2025年11月大型挖掘机品牌综合排名:专业对比与选购建议