设备大小端模式的概念

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。

超过一字节的数据在大小端设备的存取方式就不一样了,例如我们经常会见到的0x12345678,它大端设备的存放就是12345678,但是在小端设备就是:78563412。

最近在做一些关于大小端的问题处理,发现数据的存取,以及对数据进行的一些算术位移操作等都不会受到大小端的影响。

那在什么时候程序会受到大小端设备的影响呢?

1、取地址时进行强制类型转换,例如,把char型地址强制转换为int型地址,在大小端设备上转换出来的结果就是不一样的;

2、对大于一字节的数,通过指针取其某一位进行操作时,例如数据0X12345678,在大端设备上取该字节的第二位时得到的是34,但是在小端设备上就是56了,

其实,对于大小端的一些应用目前主要在网络编程的网络字节序转换当中,在这里就不在详细说明了。我们要理解的是,大小端设备其实就是CPU对于大于一字节的数据的存储方式的不一样。

这是我个人的一些看法和理解。

大小端设备对程序的影响相关推荐

  1. java虚拟机 大小端_每个程序员都应当知道的“大小端”

    概述 机器是分大小端的,这对我们编程有什么影响呢?什么又是大小端呢?也许我们很多时候都不清楚,但仍然可以很好地使用电脑,或者编写代码.但我认为<圣经>里有句话说得很好,"你应该了 ...

  2. 大小端交换的程序_APP端常见测试功能点

    ?如能帮到你,下方为我们点个在看 ?推荐:测试可不只是界面点点点,找几个茬... 一.安装.卸载.更新.运行 1.安装.卸载 应用是否可以正常安装(命令行安装:apk/ipa安装包安装)(有网,无网是 ...

  3. 大小端交换的程序_数据库在小程序云开发中的应用

    " 高效率数据库为小程序·云开发赋能,共同为客户提供更多优质解决方案. " 目录 小程序·云开发介绍小程序·云开发的数据库服务解决方案及客户成功案例 小程序云开发介绍 " ...

  4. 【读书笔记】【程序员的自我修养 -- 链接、装载与库(三)】函数调用与栈(this指针、返回值传递临时对象构建栈、运行库与多线程、_main函数、系统调用与中断向量表、Win32、可变参数、大小端

    文章目录 前言 介绍 内存 内存布局 栈与调用惯例 堆与内存管理 运行库 入口函数和程序初始化 C/C++运行库 运行库与多线程 C++全局构造与析构 fread 实现 系统调用与API 系统调用介绍 ...

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

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

  6. 大小端字节序介绍以及判断当前环境字节序的程序【C语言】

    文章目录 1.大小端字节序介绍 2. 判断当前环境的字节序程序 1.大小端字节序介绍 首先我们先来介绍什么是大端字节序,什么是小端字节序: 大小端字节序指的是数据在电脑上存储的字节顺序 小端字节序存储 ...

  7. 移动设备应用程序中支持多个屏幕大小和 DPI 值

    支持多个屏幕大小和 DPI 值的指导原则 要部署独立于平台的应用程序,应了解不同的输出设备.设备可以具有不同的屏幕大小或分辨率以及不同的 DPI 值或密度. Flex 工程师 Jason SJ 在他的 ...

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

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

  9. 编写程序判断大小端的两种方法

    大小端这个问题在面试过程中偶尔会被问到,这里笔者总结了一下,提出了两个小程序进行判断,欢迎大伙 查看指教 第一种:联合(union)方式判断法 在union中所有的数据成员共用一个空间,同一时间只能储 ...

最新文章

  1. b-blkid查看磁盘设备文件系统类型
  2. 单点登录系统用 8 张漫画就解释了
  3. 概率图模型PGM——D map, I map, perfect map
  4. java如何计算html高度,如何检索HTML元素的实际宽度和高度?
  5. Boost:align对齐的测试程序
  6. mysql 报错5 拒绝访问_linux上装mysql
  7. cost of path 的计算
  8. iOS获取当前app的名称和版本号
  9. 计算机教学研修心得英语,英语研修心得体会
  10. 语音识别属于计算机的什么应用领域,语音识别系统
  11. 【计算机网络】计算机网络基础知识
  12. 访问samba服务器提示无权限使用网络资源
  13. 给小朋友讲故事——第一次世界大战(音频)
  14. Excel批量设置数字转化成“以文本形式存储的数字”
  15. 2018-2019-2 网络对抗技术 20165303 Exp3 免杀原理与实践
  16. 如何编写python函数_编写高质量的Python代码系列(二)之函数
  17. 数值分析matlab最小二乘法,数值分析 最小二乘 matlab
  18. 3DsMAX树木快速建模
  19. SOHO中国高管建“老鼠仓”吸钱 大企成空壳谁之责?
  20. iText7---Adding low-level content添加低层级内容

热门文章

  1. vue中一个页面key值重复解决
  2. 怎么编辑被保护的word文件
  3. 一家游戏公司PHP面试题-笔试题(PHP)
  4. 平面设计学多久能上手,学习平面设计都可以从事哪方面的工作
  5. 【贝叶斯分类2】朴素贝叶斯分类器
  6. 查询服务器的操作系统,查询服务器的操作系统
  7. 七家监控公司因“严重“违规而被Facebook禁止
  8. 前端学习笔记-07post请求和get请求,样式以及CSS
  9. 几个VBA的小程序示例
  10. 利用JAX-WS开发Web服务