1、什么是大小端?

大小端是针对非单字节数据的存取,比如short型,int型等。大端存储是将数据的高位存储在内存的低地址处,小端存储是将数据的低位存储在内存的低地址处。

2、为什么会有大小端?

简单点说就是硬件厂商各有所好,并没有统一的约定制作制作哪一个,大端的优势在于第一个字节就是高位,很容易判断正负性。小端的优势在于第一个字节是低位,最后一个字节是高位,可以依次取出相应的字节进行运算,并且最终会把符号位刷新,这样运算起来更高效。

3、如何确定大小端?

当我们不知道当前换将是大端存储还是小端存储的时候,就需要用代码来确定当前环境的大小端,下面给出了两种确定大小端的方式:

1️⃣.共用体确定大小端

共用体里面的变量是公用一块空间的,int a = 0x11 22 33 44占据了四个字节,假设是小端第一个字存的就是数据的低位0x44char c只占据了第一个字节


int IsSmallEnd1()
{union U u;u.a = 0x11223344;if (u.c == 0x44) {return 1;}elsereturn 0;
}int main()
{int i = IsSmallEnd1();if (i == 1){printf("小端模式\n");}else{printf("大端模式\n");}return 0;
}

2️⃣.指针确定大小端

强制类型转换会发生截取,下面用char*强制类型转换,截取了第一个字节的地址,然后解引用读取了第一个字节的数据。


int IsSmallEnd2()
{int i = 0x11223344;i = 0x11223344;if (*(char*)(&i) == 0x44){return 1;}elsereturn 0;
}int main()
{int i = IsSmallEnd2();if (i == 1){printf("小端模式\n");}else{printf("大端模式\n");}return 0;
}

什么是大小端?怎么分辨大小端?相关推荐

  1. 关于rem移动端 html字体大小自适应设置的问题

    rem是个单位,单位大小由它第一代祖先font-size的大小决定rem的大小. 了解字体大小的同时我们要知道像素是什么东西. 像素是屏幕的组成元素,我们看到屏幕上的内容都是由一个个小颗粒构成的,而这 ...

  2. html字大小自适应,html字体大小自适应 怎样让HTML字体自适应到移动端?

    如何设置 中的字体大小随 height变化而自 first line html如何实现字体大小的自适应字体的单位用百分比即可. html页面怎样能够自适应电脑屏幕宽度? 在1024*768或者800* ...

  3. html5移动页面自适应手机屏幕大小,页面完美自适应移动端屏幕的方法

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 移动端由于展示区域比较小,页面在不同分辨率手机上的展示细节也被要求得更加严格, ...

  4. html移动端最小字体大小,踩坑之移动端显示字体大小问题

    踩到的第一个坑: 最近做一个移动端的h5,一开始拿到设计稿后,发现有几个区域字体换算之后在iphone6上是小于12px的,就有一个问题了,谷歌对小于12px的字体,是不做处理的.按理说,设计上应该要 ...

  5. 汇编码转机器码万能转换工具(Intel 32/64、ARM 大小端、Thumb大小端、ARM V8大小端、Thumb V8大小端、AArch64)

    汇编码转机器码万能转换工具(Intel 32/64.ARM 大小端.Thumb大小端.ARM V8大小端.Thumb V8大小端.AArch64) 众所周知,计算机核心处理器就是CPU是计算机的重要组 ...

  6. html5 移动端字体问题,踩坑之移动端显示字体大小问题

    踩到的第一个坑: 最近做一个移动端的h5,一开始拿到设计稿后,发现有几个区域字体换算之后在iphone6上是小于12px的,就有一个问题了,谷歌对小于12px的字体,是不做处理的.按理说,设计上应该要 ...

  7. PHP如何分辨当前是移动端,还是PC端

    /*** 客户端类型* $find = '' 判断:iphone,ipad,android'* $find = 'pc' 判断:windows* $find = 'ipad' 判断:ipad* $fi ...

  8. PC端和移动APP端CSS样式初始化

    CSS样式初始化分为PC端和移动APP端 1.PC端:使用Normalize.css Normalize.css是一种CSS reset的替代方案. 我们创造normalize.css有下面这几个目的 ...

  9. 差分放大电路单端输出和双端输出区别以及应用(转载)

    来自:http://www.elecfans.com/news/dianzi/20171118581901_a.html 什么是差分放大电路 差分放大电路利用电路参数的对称性和负反馈作用,有效地稳定静 ...

  10. android webview 字体 系统字体大小,Android 系统字体大小动态改变,导致webview中显示不兼容的问题解决...

    唠叨几句: 在移动端再开发的过程中,很容易使用到webview,它也是用来混合开发的中间桥梁,因此解决webview使用过程中出现的问题是非常有必要的: 问题现象与发现: 现象: 日前,在是使用web ...

最新文章

  1. 项目收获与体会_践行“十个一”在劳动中收获成长——青岛六十六中高二年级学农实践活动圆满结束...
  2. C++ 暴力搜索String pattern search字符串模式的实现算法(附完整源码)
  3. java画图板代码_java学习小总结——画图板制做(附代码)
  4. 用两个使用Caffe的小项目案例演示迁移学习的实用性
  5. 模块的封装之C语言类的继承和派生
  6. HDU 4393 Throw nails [水题]
  7. JS replace()方法替换变量(可以对变量进行全文替换)
  8. 有谁知道高速大数据量无线传输技术
  9. Kubernetes知识体系-从入门到精通
  10. python pywin32模块 修改cad_安装pywin32(Python调用win api必看)
  11. 如何使用Google Maps API禁用鼠标滚轮缩放
  12. 【CV学习笔记】OpenCV基本操作
  13. 【论文翻译】Image Super-Resolution Using Deep Convolutional Networks
  14. paip.vs2010 或.net 4.0安装出错解决大法.
  15. 矩阵计算 动手学深度学习 pytorch
  16. 【JY】精彩仿真书籍推荐与投票~
  17. WebService接口的生成和调用(WebService接口)
  18. RabbitMQ系列8 TTL 死信队列 延迟队列
  19. 当保险遇上AI,泰康保险集团智能化升级有秘籍
  20. 机器学习之十一(读书笔记)

热门文章

  1. 分享巧记Linux命令的方法
  2. Tomcat 闪退的原因
  3. FOFA Java程序集成fofa
  4. Android 客户端常见漏洞
  5. 英语写作助手-有道英语写作助手推荐
  6. 同城辅材—装修材料一站式采购平台
  7. 什么是 Google App Engine?
  8. KWin in KDE4
  9. 网络工程师网络管理软件SNMPc软件的下载,安装和使用教程说明
  10. (已更新)文案+壁纸+头像+套图小程序源码,双版本,独立后台和无服务器版本