判断cpu大小端模式(c++代码实现)
首先来了解一下大小端模式。
大端模式:高位对应低地址,低位对应高地址 ;换而言之,就是数字的高位存放在内存的低址地,低位存放在内存的高地址
小端模式:高位对应高地址,低位对应低地址 ;即数字的高位存放在内存的高址地,低位存放在内存的低地址
如下图,我们要存储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++代码实现)相关推荐
- 判断CPU大小端模式
int CheckCpuEndian(void) {union{int a;char b;}c;c.a=1;return (1 == c.b); } 返回1为LittleEndian. 联合体unio ...
- CPU大小端模式对C语言底层开发的影响
CPU大小端模式对C语言底层开发的影响 在嵌入式的c语言底层开发过程中,经常会遇到CPU大小端模式的问题,对底层软件的数据结构构建.数据解析.甚至功能实现上均有一定的影响,我自己在ECU的底层软件 ...
- 大小端模式的快速判断方法
*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...
- 大小端模式以及两种判断方法
文章目录 基本概念 判断方法 END 基本概念 首先来看某百科定义: 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 小端模式,是指数据的高字节保存在内存的高地址 ...
- 大小端模式的判断方法
1. 大小端模式 大端模式:数据的高字节存储在内存的低地址中. 小端模式:数据的低字节存储在内存的低地址中. 两种模式的区别就是数据在内存中是先存储高字节还是低字节,先存高字节就是大端模式,先存低字节 ...
- 10-x86汇编——大小端模式
汇编语言实际上是和内存以及寄存器打交道的,当处理器执行汇编指令时,影响的不是内存变化就是寄存器的变化,前面我们已经详细介绍过寄存器了,这一小节我们主要讨论数据在内存中的存储--大小端模式. 当我们对内 ...
- .pgr照片文件解析,C++与Java存储数据差别大小端模式
一..pgr是什么? .pgr文件是二进制的图像文件,可以用普通的文本文件打开,或者查看十六进制的文本信息: 读取需要了解~~~非常重要 !!! 基本数据类型的大小端存储模式 表头Header 详细信 ...
- 位结构体+大小端模式
位结构体+大小端模式 位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便 位结构定义的一般形式为: struct 位结构名{ 数据类型 [变量名]: ...
- 大小端模式的区别(即小尾和大尾的区别)
最近在学习USB,在看Keil C51代码的时候发现从PC机接收的USB数据在Keil C51环境里要交换高低字节,这是因为Keil的数据结构是大端模式,对于大端模式不是很清楚后来网上搜索发现有一篇文 ...
最新文章
- 清华大一Python作业太难上热榜!只上3节课,手撸AI算法,网友:离本科毕设只差一篇万字论文...
- 用C语言做的 一个整人的小程序
- 写出float x 与“零值”比较的if语句
- php5.3.*编译出现make: *** [ext/gd/libgd/gd_compat.lo] Error 1 解决方法
- struts.xml文件的配置说明
- python自动化第三周---文件读写
- 将二维列表输出到excel
- java带权连通图上最小权边,连通图最小生成树的算法及实现
- C/C++轻松实现文件下载
- 求解算术表达式结合二叉树的后缀表达式问题
- linux怎样进入src目录,Linux配置目录
- python xlrd模块_Python中xlrd模块解析
- linux ^H^H^
- An invalid domain [xx] was specified for this cookie
- arduino麦轮转弯程序_麦克纳姆轮全向轮战车程序精髓分享
- Android studio实现多个按钮跳转多个页面
- office2016简体中文版
- 你都用 Python 来做什么 学Python能做什么
- 微信小程序 界面从右边滑出_微信小程序--左滑右滑的乐趣
- 计算机如何管理应用,电脑怎么管理iPhone手机应用