首先看一段程序:

#include <stdio.h>
int main()
{int a = 100; int b = 200;int c = 300;printf("%p\n",&a);printf("%p\n",&b);printf("%p\n",&c);return 0;
}

看输出结果:

0x7fff52499ad8 // a
0x7fff52499ad4 // b
0x7fff52499ad0 // c

可以看到,在栈上分配的int数据,内存地址是往下增长的。

我以为堆上的地址增长方向是相反的:

    // 堆上存储int *pa = (int*)malloc(sizeof(int));int *pb = (int*)malloc(sizeof(int));int *pc = (int*)malloc(sizeof(int));printf("%p\n",&pa);printf("%p\n",&pb);printf("%p\n",&pc);

结果发现输出:

    0x7fff5c5eeac8 // pa0x7fff5c5eeac0 // pb0x7fff5c5eeab8 // pc

因此,在本机(macos)测试下,堆、栈的分配都是地址递减,和我想的不太一样。。

所以只能说概念。

我们假设地址从左往右增长,或者从上往下看增长。不管怎样,我们就带着这样的视角。
按照大端序的说法,大端序里一个字的高位字节(左边)存在内存的低地址处。所以,对于一个数字0x12345678, 12是最高位的字节,因此存在地址的最左边,因为我们假定了地址从左往右增长,左边地址最小。 这样一次进行,所以大端序下看起来非常符合我们的直觉。
因此,称之为:大自然!

小端序是反着来的,留待各位举一反一吧。

其实是,这种只有两种情况的,记住一个的效率高且准确。

以上。

大端模式和小端模式的再理解相关推荐

  1. 计算机大端模式和小端模式 内存对齐问题(sizeof)

    目录(?)[+] 一大端模式和小端模式的起源 二什么是大端和小端 三数组在大端小端情况下的存储 四为什么会有大小端模式之分呢 五如何判断机器的字节序 内存对齐问题 再讲讲pragma pack 内存对 ...

  2. 大端模式与小端模式的详解分析

    大端序与小端序 何为大端序,小端序? 简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了.注意字节序是硬件层面 ...

  3. 嵌入式基础01【转载】详解大端模式和小端模式

    ---------------- 版权声明:本文为CSDN博主「ce123」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog. ...

  4. 大端模式和小端模式转化

    在工作中遇到一个问题,数据是以大端模式存储的,而机器是小端模式,必须进行转换,否则使用时会出问题. 一.定义: 大端模式(Big Endian):数据的高字节,保存在内存的低地址中:数据的低字节,保存 ...

  5. 大端模式、小端模式、高字节序、低字节序、MSB、LSB

    摘要:你知道内存是怎么读取数据的吗?知道数据是怎么一个一个字节发送的吗?是低字节先发还是高字节先发?是bit0先发还是bit7先发?是从低地址开始读还是从高地址开始读?看完本篇比应该就明白了~ 内存的 ...

  6. 详解大端模式和小端模式【转】

    详解大端模式和小端模式 一.大端模式和小端模式的起源 本文转载自:http://blog.csdn.net/ce123/article/details/6971544 关于大端小端名词的由来,有一个有 ...

  7. 【转】大端模式与小端模式、网络字节顺序与主机字节顺序 (经典)

    大端模式与小端模式 一.概念及详解 在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式. 先回顾两个关键词,MSB和LSB: ...

  8. 大端模式、小端模式、网络字节顺序与主机字节顺序

    大端模式.小端模式.网络字节顺序与主机字节顺序 大端模式与小端模式 概念与详解 在各种体系的计算机中通常采用的字节存储机制主要有两种:big-endian和little-endian,即大端模式和小端 ...

  9. C/C++ 工具函数 —— 大端模式和小端模式的互换

    小端模式:小在小,大在大:大端模式:小在大,大在小: uint32_t swap_endian(uint32_t val) {val = ((val << 8) & 0xFF00F ...

  10. matlab小端模式合并,大端方式和小端模式【YC】

    大端模式和小端模式[YC] 小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址. 大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址. 下 ...

最新文章

  1. iexpress全力打造“免检”***
  2. class反编译成java_Spring Tools Suite(STS)安装反编译插件
  3. 2018目标,提高免疫力,身体工作双丰收
  4. Python: Monitoring a Directory
  5. 查找100 sql oracle,Oracle中SQL语句执行效率的查找与解决
  6. 阿里开源首个深度学习框架 X-Deep Learning!
  7. 祝福神器!微信推出“表情搜索”功能,支持合成个性化祝福表情
  8. java清理垃圾_垃圾清理势在必行——Java垃圾收集算法
  9. JQuery Ajax 解析
  10. L1-070 吃火锅 (15 分)-PAT 团体程序设计天梯赛 GPLT
  11. 操作系统原理(二)操作系统逻辑结构、CPU的态和中断机制
  12. SAP结转方法:表结法、帐结法
  13. 仿真软件proteus构建LCD1602四线驱动实验
  14. TCP全连接端口扫描器
  15. LPC1768 SPI 外设控制DA(PCM1796)调试记录
  16. 笔记:使用CSS实现箭头图标
  17. 怎样学好高一数学,首先掌握这4种方法
  18. Java中有理数类Rational Number详解
  19. VS Code配置matlab
  20. 腾讯云发布云端开发者工具Cloud Studio 帮助开发者实现一站式开发(内含福利)

热门文章

  1. 使用CSDN的MarkDown编辑公式
  2. idea redis图形化_5.13redis图形化工具---idea中配置redis密码
  3. C语言子程序调用的入口参数和出口参数,C语言与DOS系统接口技术
  4. 拓扑排序所有可能java_拓扑排序获取所有可能序列JAVA实现
  5. 框架封装_重大突破,欧菲光成功研发半导体封装用高端引线框架
  6. php der格式 证书,php读取der格式证书乱码解决方法_PHP教程
  7. java 参数校验 优雅的,SpringBoot 如何优雅的进行参数校验
  8. oauth2 单点登录_六个高Star开源项目,让你更懂OAuth和单点登录
  9. python中while true的用法_解析Python中while true的使用
  10. jsp隐式对象_JSP隐式对象