文章目录

  • 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语言】相关推荐

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

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

  2. 判断页面环境是否在小程序的webview中

    最近公司需要做小程序项目,但是又希望能够快速开发,就想着把web端的响应式页面放到webview里快速开发.但在判断页面环境的时候出现一些问题. 环境问题 用小程序提供的wx.miniProgram. ...

  3. 什么是大小端,如何写程序判断大小端?

    什么是大小端? 大小端又被成为 大端字节序 和 小端字节序 .大小端其实指的就是在数据如何存到内存中的方式. 大端(存储)模式 :是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中 ...

  4. 什么是大小端?如何判断大小端

    通过上篇文章,我们知道了整形变量在内存中是以二进制方式存储的,今天我们来聊一聊,它的存储顺序(大小端) 目录 一.什么是大小端? 二.如何判断是大端存储还是小端存储 对于一个由2个字节组成的16进制整 ...

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

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

  6. 网络编程大小端的注意事项

    1.一个字节的数据无需注意大小端的问题 2. 首先判断主机平台的大小端的问题,才能决定是否使用网络字节序的转换

  7. 大小端 Big-Endian 与 Little-Endian

    应该说没做底层开发(硬件或驱动)的人很可能不会彻底理解大小端的概念,大小端不是简单的一句"大端在前"还是"小端在前"能够概括的问题.在cpu, 内存, 操作系统 ...

  8. 关于高位字节与低位字节简洁明了的说明,以及高低字节序转换函数

    一般一个16位(双字节)的数据,比如 FF1A  (16进制) 那么高位字节就是FF,低位是1A 如果是32位的数据,比如  3F68415B 高位字(不是字节)是3F68 低位字是415B 右边是低 ...

  9. 鲜为人知的大小端问题

    文章目录 鲜为人知的大小端问题 1. 大小端引起的问题 2. 大小端模式理解 3. 三种大小端转换方法 鲜为人知的大小端问题 1. 大小端引起的问题 在进行通信数据拆包解析,不同单片机数据存储时,因为 ...

最新文章

  1. 程序员在职场中想快速升职,这4种潜质少不得!
  2. android程序安装后图标不显示
  3. 使用 Microsoft .NET Framework 精简版中的 MessageWindow 类
  4. phoneGap技术分析
  5. SPSS T检验(图文+数据集)【SPSS 017期】
  6. java求职英文简历范本2篇_JAVA英文求职简历范文
  7. jpg转换成mobi电子书
  8. html5年龄大于18岁,写个JavaScript函数来判断是否大于18岁,比如传入1
  9. 猫加路由加服务器加交换机怎么配置文件,光猫接交换机和路由器,怎么设置?...
  10. [每日一氵] Python内部创建一个进程,等用完再结束掉他
  11. outlook2013邮箱找不到服务器,outlook发邮件总提示找不到服务器,不知哪里设置不对,请哪位大侠指点一下...
  12. Inception-V3论文翻译——中文版
  13. Java 中获取错误代码_错误代码:99999, 错误信息:无法获取到文件名
  14. vue项目echart飞线地图
  15. 计算机二级该怎么学,计算机二级自学要多久 怎样复习
  16. 第一性原理:戳中问题本质的人是怎么思考的?
  17. 影响应用商城搜索排名的因素
  18. Android绘制跟随路径移动的圆圈
  19. oracle10gwin,win10肿么彻底卸载oracle10g
  20. 阿里P9李运华:架构到底是指什么?

热门文章

  1. SKU表管理之删除SKU表数据
  2. 二叉树中第二小的节点
  3. 美多商城之购物车(展示商品页面简单购物车)
  4. 网络工程师_要记录下来的一些题_3
  5. 目标检测中的Tricks
  6. 什么是目标检测中的旋转敏感度错误?
  7. 《基于单幅图像的快速去雾》原理与C++复现(有一定工程意义)
  8. 基于OpenCV的单目摄像机测距
  9. 基于opencv实战眼睛控制鼠标
  10. SSL协议安全系列:PKI体系中的证书吊销