大小端存储

0. 问题引入

  若定义 : int a = 1; 我们知道 a 在内存存储时 应该为 0x 00 00 00 01,可是看内存里存的是 0x 01 00 00 00,这就是大小端存储的问题。

  

1.什么是大小端存储

  高字节和低字节:

  

  高地址和低地址:

  

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。

  小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。

  

2 如何测试机器是大端模式还是小端模式

  1,利用指针来测试

1 #include 2  3 int main() 4 { 5     int a = 1; 6     char *p = (char*)&a; // 用char型指针访问第一个字节的内容 7  8     if (*p == 1) 9     {10         printf("小端");11     }12     else13     {14         printf("大端");15     }16     return 0;17 }

  2,利用联合体的性质

1 #include 2 int check_system() 3 { 4     union Un //联合体共用一块内存 5     { 6         char c; 7         int i; 8     }u; 9     u.i = 1; // 此时存入一个int型的值10     return u.c; // 只读取一个字节 如果是 1 ,为小端,0为大端。11 }12 int main()13 {14     int a = check_system();15     if (a == 1)16     {17         printf("小端");18     }19     else20     {21         printf("大端");22     }23     return 0;24 }
 www.bdsoba.com
(0)

相关推荐

  • 数据在内存中的存储

    数据类型 C基本的内置类型: char //字符型数据类型(1) short //短整型 (2) int //整型 (4) long //长整型 (4) long long //更长的整型 (8) f ...

  • 进击的小白Day015——char与int互相转换

    今天意外发现一个char和int互相转换的方法,但其实到现在我还不是能够很好的理解这个过程,所以写写笔记来理一下思路,花了接近一天的时间研究这个,是因为之前写的Socket程序中用到了char和int ...

  • C语言中数组的总结

    #目录 # 一维数组的创建和初始化 一维数组的使用 一维数组在内存中的存储 指针的初步介绍 一维数组的指针访问 二维数组的创建和初始化 二维数组的使用 二维数组在内存中的存储 二维数组的指针访问 有关 ...

  • 【C语言资料更新】共用体联合体

    文/Edward 共用体又称为联合体,它是C语言中的一种特殊的数据类型.它允许用户在相同的内存位置存储不同的数据类型.用户可以定义一个带有多成员的共用体,但是任何时候这些成员都共享同一块内存.举个例子 ...

  • C语言

    文章目录 数据类型 一.整型在内存的存储 整形提升 有符号数与无符号数 二.浮点数在内存中的存储 数据类型 1,整形:(默认有符号数) 在内存中存的是其对应二进制补码 char(存在内存中是其ASCL ...

  • 单片机开发之节省内存大法(C语言版本)

    首先聊一聊 大家都知道进行单片机编程和计算机编程有个最大的差别就是单片机的资源非常的有限,并且对于大部分低端单片机而言都没有操作系统.除了一些嵌入式级的芯片用了Linux系统外,其他大部分操作都是比较 ...

  • 争议 | ​核心高端存储使用统一品牌还是异构品牌对中小银行更有利?

    来自twt社区同行交流,欢迎更多同行参与交流 核心高端存储使用品牌是统一品牌还是异构品牌对中小银行更有利? 核心高端存储使用品牌是统一品牌还是异构品牌对中小银行更有利?(需要从银行IT架构稳定发展的角 ...

  • 最强高端存储CFEXPRESS卡 PROGRADE 铂金版325G 评测

    如今,大多数CFexpress B型卡都没有公布持续的写入磁盘性能,实际上,这在闪存行业中并不普遍.消费类SSD,SD卡,紧凑型闪存卡,甚至最新的CFexpress卡,都是根据其最高的理论速度来宣传进 ...

  • 紧抓闪存技术风口,浪潮中端存储率先使用傲腾双端口固态盘

    ▼数据猿公告▼ 数据猿即将推出"2020上半年度大型主题策划活动--我的产品观",敬请期待!   大数据产业创新服务媒体 --聚焦数据 · 改变商业 近期,浪潮发布了采用英特尔双端 ...

  • 争议 | 集中式高端存储会被分布式存储逐步取代吗?

    来自twt社区同行交流,欢迎更多同行参与交流 集中式高端存储未来的市场如何?是否会被分布式存储逐步替代? 问题来自社区会员@chenmingfu 某银行 基础架构组长,下文来自twt社区众多同行实践经 ...

  • 大小端,字节序,位序,字节对齐,位域对齐,一文看懂

    测试用源代码: #include<stdio.h> #include<string.h> #if 1 struct Test { unsigned short a:2; uns ...

  • 高端存储发展简史

    任何一个时代,都必然会有英雄. 阿明|全球存储观察 数据存储发展了多年,特别是高端存储历经四十多年的发展,从大型机诞生与之成为标配,到当前进入云与智能时代下的创新演进. 作为数据存储领域当仁不让的&q ...

  • 高端存储为什么从“小甜甜”变成了“牛夫人”?

    人们总是喜新厌旧,尤其是在IT领域,这种特质更是被无限放大. 高端存储就是一个非常明显的例子. 头两年高端存储还是人们口中"高精尖"技术的代表.转眼间,已经从人见人爱的" ...

  • 佰维存储获得华为NM卡授权,黑科技产品服务华为高端智能手机用户

    近日,NM Card®/NM存储卡的缔造者华为与中国存储芯片领导品牌佰维共同签署了NM存储卡的专利许可授权.佰维就NM存储卡的生产与销售已准备好,为繁荣NM存储卡生态贡献自己的力量. 华为NM存储卡( ...

  • 稳定耐用的中端NVMe硬盘,用铠侠(东芝存储)RC10为生活提速

    日常使用的软件以及游戏的数据量越来越大,传统的机械硬盘日常读写速度最高在300MB/s,即使SATA接口的SSD硬盘,读取速度也只能提升到500MB/s的水平,如果想在PC上面处理一些4K视频或者玩大 ...