大端小端 说明

简介: 1.引入   计算机的字长一直在增长,从4位开始,经过8、16、32、64位,以后可能还会有更多的位出现。现在的计算机还都是以字节(即8个bit位)作为地址编址单元。   编程语言中有许多内置的数据类型,有整型,浮点型等。

1.引入

  计算机的字长一直在增长,从4位开始,经过8、16、32、64位,以后可能还会有更多的位出现。现在的计算机还都是以字节(即8个bit位)作为地址编址单元

  编程语言中有许多内置的数据类型,有整型,浮点型等。每种内置类型所占用的字节数是不相同的。

  大端小端就是指在一个内置数据类型中,数据的存放顺序,分为两种,即小端优势和大端优势。

2.概念

  大端优势:数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中

  小端优势:数据的低字节存储在低地址中,而字数据的高字节则存放在高地址中(所谓的“高高低低”)

3.C代码测试大端小端

  说明:C语言内置类型int默认是分配4个字节。从输出来看高地址输出的是数据的高字节部分,所以是小端优势。

#include<stdio.h>
int main()
{
    unsigned int a=0x12345678;  //16进制数
    char *d=(char*)&a;

    printf("%x %x\n",d,*d);         //输出:22ff18 78
    printf("%x %x\n",d+1,*(d+1));   //输出:22ff19 56
    printf("%x %x\n",d+2,*(d+2));   //输出:22ff1a 34
    printf("%x %x\n",d+3,*(d+3));   //输出:22ff1b 12
    return 0;
}

4.图示

  

 5.再说明

   大端小端完全是设计的原因,不是因为有多个字节先写后写的问题。

   字长32位、64位的机器在CPU设计时,就可以使用32或64条数据线一次读或写多个字节数据。又因为可以一次读或写多个字节数据,有的RAM设计才有了地址对齐一说。

 

地址对齐:http://www.cnblogs.com/xudong-bupt/archive/2013/05/13/3076024.html

  

相关文章
|
7月前
|
开发工具 git
避免git产生Merge branch 'foo' into 'bar'提交
避免git产生Merge branch 'foo' into 'bar'提交
102 3
|
7月前
|
人工智能 Python
隐私计算实训营 第1期-第4讲 快速上手隐语SecretFlow的安装和部署
文档改进建议:明确Ray, K3S, Kuscia与SecretFlow的关系;结构化部署文档,区分顺序步骤与选择分支;提供从零开始的详细部署教程,补充缺失的前置步骤说明。
|
7月前
|
Linux
linux vi编辑器常用命令
linux vi编辑器常用命令
51 0
|
7月前
|
数据采集 数据处理
数据处理|数据按从小到大分成n类
数据处理|数据按从小到大分成n类
51 0
|
Java
java 获取一定长度的随机字符串 可用于生成交易订单号交易号等
java 获取一定长度的随机字符串 可用于生成交易订单号交易号等
134 0
|
弹性计算 Java Linux
ECS使用体验
记录了第一次使用云服务器的过程
|
存储 机器学习/深度学习 人工智能
从NeurIPS 2018看AI发展路线!
从NeurIPS 2018看AI发展路线!
2202 0