首先来了解一下大小端模式。

大端模式:高位对应低地址,低位对应高地址 ;换而言之,就是数字的高位存放在内存的低址地,低位存放在内存的高地址

小端模式:高位对应高地址,低位对应低地址 ;即数字的高位存放在内存的高址地,低位存放在内存的低地址

如下图,我们要存储0x1234这个数,那么大小端模式下的存放分别如下所示,箭头方向是地址增大方向。

Judging_the_big_end_mode(void){int a  =1;char  b =  *(char*)(&a);return   b;}

解释一下代码,int型占四个字节,我们假设现在cpu是大端模式,则a=0000 0000 0000 0001(存放地址分别为2000h 2001h 2002h 2003h四个字节),则&a取到的地址是2000h,那么b就等于2000h中存放的值0000(也就是十进制的0)

如果我们假设现在cpu是小端模式,则a=0001 0000 0000 0000(存放地址分别为2000h 2001h 2002h 2003h四个字节),则&a取到的地址是2000h,那么b就等于2000h中存放的值0001(也就是十进制的1)

所以我们只要看b是一个什么值就可以判断cpu的大小端模式了。

判断cpu大小端模式(c++代码实现)相关推荐

  1. 判断CPU大小端模式

    int CheckCpuEndian(void) {union{int a;char b;}c;c.a=1;return (1 == c.b); } 返回1为LittleEndian. 联合体unio ...

  2. CPU大小端模式对C语言底层开发的影响

    CPU大小端模式对C语言底层开发的影响 ​ 在嵌入式的c语言底层开发过程中,经常会遇到CPU大小端模式的问题,对底层软件的数据结构构建.数据解析.甚至功能实现上均有一定的影响,我自己在ECU的底层软件 ...

  3. 大小端模式的快速判断方法

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

  4. 大小端模式以及两种判断方法

    文章目录 基本概念 判断方法 END 基本概念 首先来看某百科定义: 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 小端模式,是指数据的高字节保存在内存的高地址 ...

  5. 大小端模式的判断方法

    1. 大小端模式 大端模式:数据的高字节存储在内存的低地址中. 小端模式:数据的低字节存储在内存的低地址中. 两种模式的区别就是数据在内存中是先存储高字节还是低字节,先存高字节就是大端模式,先存低字节 ...

  6. 10-x86汇编——大小端模式

    汇编语言实际上是和内存以及寄存器打交道的,当处理器执行汇编指令时,影响的不是内存变化就是寄存器的变化,前面我们已经详细介绍过寄存器了,这一小节我们主要讨论数据在内存中的存储--大小端模式. 当我们对内 ...

  7. .pgr照片文件解析,C++与Java存储数据差别大小端模式

    一..pgr是什么? .pgr文件是二进制的图像文件,可以用普通的文本文件打开,或者查看十六进制的文本信息: 读取需要了解~~~非常重要 !!! 基本数据类型的大小端存储模式 表头Header 详细信 ...

  8. 位结构体+大小端模式

    位结构体+大小端模式 位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便   位结构定义的一般形式为:  struct  位结构名{  数据类型 [变量名]: ...

  9. 大小端模式的区别(即小尾和大尾的区别)

    最近在学习USB,在看Keil C51代码的时候发现从PC机接收的USB数据在Keil C51环境里要交换高低字节,这是因为Keil的数据结构是大端模式,对于大端模式不是很清楚后来网上搜索发现有一篇文 ...

最新文章

  1. 清华大一Python作业太难上热榜!只上3节课,手撸AI算法,网友:离本科毕设只差一篇万字论文...
  2. 用C语言做的 一个整人的小程序
  3. 写出float x 与“零值”比较的if语句
  4. php5.3.*编译出现make: *** [ext/gd/libgd/gd_compat.lo] Error 1 解决方法
  5. struts.xml文件的配置说明
  6. python自动化第三周---文件读写
  7. 将二维列表输出到excel
  8. java带权连通图上最小权边,连通图最小生成树的算法及实现
  9. C/C++轻松实现文件下载
  10. 求解算术表达式结合二叉树的后缀表达式问题
  11. linux怎样进入src目录,Linux配置目录
  12. python xlrd模块_Python中xlrd模块解析
  13. linux ^H^H^
  14. An invalid domain [xx] was specified for this cookie
  15. arduino麦轮转弯程序_麦克纳姆轮全向轮战车程序精髓分享
  16. Android studio实现多个按钮跳转多个页面
  17. office2016简体中文版
  18. 你都用 Python 来做什么 学Python能做什么
  19. 微信小程序 界面从右边滑出_微信小程序--左滑右滑的乐趣
  20. 计算机如何管理应用,电脑怎么管理iPhone手机应用

热门文章

  1. 微信小程序——动态绑定多个class
  2. Python Challenge 第0关
  3. 71 Linux 应用程序 permission denied问题
  4. 荐号 | 高质量的 Python 类公众号
  5. 京东商城的“地下世界”
  6. Junit 测试框架的详细讲解
  7. 750-连接一个 IP 不存在的主机时,握手过程是怎样的?
  8. Tuxedo安装部署升级补丁
  9. 如何更改linux下目录所属用户和用户组
  10. jquery插件 物流详情 查询