大小端字节序介绍以及判断当前环境字节序的程序【C语言】
文章目录
- 1.大小端字节序介绍
- 2. 判断当前环境的字节序程序
1.大小端字节序介绍
首先我们先来介绍什么是大端字节序,什么是小端字节序:
大小端字节序指的是数据在电脑上存储的字节顺序
小端字节序存储:把一个数字的低位字节的内容,存放在内存的低地址处。
把高位字节的内容存放在内存的高地址处。
大端字节序存储:把一个数字的低位字节的内存,存放在内存的高地址处。
把高位字节的内容存放在内存的低地址处。
下面我们来看两幅图:
我们在调试内存窗口取出a的地址,发现低地址(EFA14)寸的是低位字节(44),高地址(EFA17)寸的是高位字节(11)
(这里注意数据是倒着写的 ,0x11223344 ,11是高位字节,44是低位字节)
综合以上结论,我们发现此时的VS2013是按小端字节序进行存储字节的。
2. 判断当前环境的字节序程序
如果要让我们写一个小程序,来判断当前环境存储字节的方式,有了上面的理论基础,我们也可以轻而易举的写出这个程序:
// 判断系统大小端字节序#include <stdio.h>
int check_sys()
{/* 方式1:int a = 1;char* p = (char *)&a; if (*p == 1)return 1;elsereturn 0;*///简化后 : int a = 1; // (高位)00 00 00 01(低位)return *(char*)&a; // 注意需要将4个字节的地址强制类型转换为一个字节的char*类型来判断
}
int main()
{int ret = check_sys(); //检查环境函数if (1 == ret){printf("小端\n"); //低地址取到低位01,就是小端}else{printf("大端\n");//低地址取到高位00,就是大端}return 0;
}
大小端字节序介绍以及判断当前环境字节序的程序【C语言】相关推荐
- 大小端模式以及两种判断方法
文章目录 基本概念 判断方法 END 基本概念 首先来看某百科定义: 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 小端模式,是指数据的高字节保存在内存的高地址 ...
- 判断页面环境是否在小程序的webview中
最近公司需要做小程序项目,但是又希望能够快速开发,就想着把web端的响应式页面放到webview里快速开发.但在判断页面环境的时候出现一些问题. 环境问题 用小程序提供的wx.miniProgram. ...
- 什么是大小端,如何写程序判断大小端?
什么是大小端? 大小端又被成为 大端字节序 和 小端字节序 .大小端其实指的就是在数据如何存到内存中的方式. 大端(存储)模式 :是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中 ...
- 什么是大小端?如何判断大小端
通过上篇文章,我们知道了整形变量在内存中是以二进制方式存储的,今天我们来聊一聊,它的存储顺序(大小端) 目录 一.什么是大小端? 二.如何判断是大端存储还是小端存储 对于一个由2个字节组成的16进制整 ...
- 大小端模式的判断方法
1. 大小端模式 大端模式:数据的高字节存储在内存的低地址中. 小端模式:数据的低字节存储在内存的低地址中. 两种模式的区别就是数据在内存中是先存储高字节还是低字节,先存高字节就是大端模式,先存低字节 ...
- 网络编程大小端的注意事项
1.一个字节的数据无需注意大小端的问题 2. 首先判断主机平台的大小端的问题,才能决定是否使用网络字节序的转换
- 大小端 Big-Endian 与 Little-Endian
应该说没做底层开发(硬件或驱动)的人很可能不会彻底理解大小端的概念,大小端不是简单的一句"大端在前"还是"小端在前"能够概括的问题.在cpu, 内存, 操作系统 ...
- 关于高位字节与低位字节简洁明了的说明,以及高低字节序转换函数
一般一个16位(双字节)的数据,比如 FF1A (16进制) 那么高位字节就是FF,低位是1A 如果是32位的数据,比如 3F68415B 高位字(不是字节)是3F68 低位字是415B 右边是低 ...
- 鲜为人知的大小端问题
文章目录 鲜为人知的大小端问题 1. 大小端引起的问题 2. 大小端模式理解 3. 三种大小端转换方法 鲜为人知的大小端问题 1. 大小端引起的问题 在进行通信数据拆包解析,不同单片机数据存储时,因为 ...
最新文章
- 程序员在职场中想快速升职,这4种潜质少不得!
- android程序安装后图标不显示
- 使用 Microsoft .NET Framework 精简版中的 MessageWindow 类
- phoneGap技术分析
- SPSS T检验(图文+数据集)【SPSS 017期】
- java求职英文简历范本2篇_JAVA英文求职简历范文
- jpg转换成mobi电子书
- html5年龄大于18岁,写个JavaScript函数来判断是否大于18岁,比如传入1
- 猫加路由加服务器加交换机怎么配置文件,光猫接交换机和路由器,怎么设置?...
- [每日一氵] Python内部创建一个进程,等用完再结束掉他
- outlook2013邮箱找不到服务器,outlook发邮件总提示找不到服务器,不知哪里设置不对,请哪位大侠指点一下...
- Inception-V3论文翻译——中文版
- Java 中获取错误代码_错误代码:99999, 错误信息:无法获取到文件名
- vue项目echart飞线地图
- 计算机二级该怎么学,计算机二级自学要多久 怎样复习
- 第一性原理:戳中问题本质的人是怎么思考的?
- 影响应用商城搜索排名的因素
- Android绘制跟随路径移动的圆圈
- oracle10gwin,win10肿么彻底卸载oracle10g
- 阿里P9李运华:架构到底是指什么?