美文网首页网络与Linux
计算机的小端模式和大端模式

计算机的小端模式和大端模式

作者: 凉拌姨妈好吃 | 来源:发表于2018-05-30 09:14 被阅读26次

以下内容部分来自:阮一峰其他

1. 为什么会有大小端之分?

内存里每个地址单元对应一个字节,一个字节为8位。那么我们的数据类型除了8位的char,还有16位的short等。超过了8位的它们在内存中应该如何存放呢?所以这就出现了大端模式和小端模式。

2. 大小端概念

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

数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11。
大端字节序:高位字节在前,低位字节在后,即以0x2211形式储存。
小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存。

大小端趣图

3. 如何在程序中判断大小端

使用union,因为union都是从低地址开始存储的,只要查看数据的高位有没有被放在低地址就能知道是大端还是小端

BOOL IsBigEndian()  
{  
    union NUM  
    {  
        int a;  
        char b;  
    }num;  
    num.a = 0x1234;  
    if( num.b == 0x12 )  
    {  
        return TRUE;  
    }  
    return FALSE;  
}

4. 大小端各自的优点

大端:符号位在所表示的内存的低地址,用于快速判断数据的正负和大小
小端:CPU做数值运算的时候是从内存中依次从低位到高位取数据进行运算,这样运算效率更高。

相关文章

  • 笔记-如何用程序确认当前系统的存储模式?

    存储模式 计算机的存储模式有 2 种: 大端模式和小端模式 例:int i = 1; 大端模式存储-低地址->高地...

  • 详解大端模式和小端模式

    详解大端模式和小端模式 嵌入式开发交流群280352802,欢迎加入! 一、大端模式和小端模式的起源 关于...

  • arm体系结构中的大小端

    大端模式: 小端模式:

  • 面试题

    什么是大端和小端? 大端模式:高位字节排放在内存的低地址端,低位字节排放在内存的高地址段。 小端模式:低位字节排放...

  • 小端模式和大端模式

    1. 为什么会有大小端之分? 内存里每个地址单元对应一个字节,一个字节为8位。那么我们的数据类型除了8位的char...

  • 大端模式和小端模式

    一、什么是大端,什么是小端 大小端模式:就是表示一个数值放在内存中的格式,高位对高地址还是高位对低地址 大端模式:...

  • 大端模式和小端模式

    大端模式 大端模式(Big-Endian)又称大端字节序,由于在网络传输中一般使用的是大端模式,所以也叫网络字节序...

  • 计算机的小端模式和大端模式

    以下内容部分来自:阮一峰,其他 1. 为什么会有大小端之分? 内存里每个地址单元对应一个字节,一个字节为8位。那么...

  • 叁:大小端模式(Big_Little_Endian)

    1:处理器存储多字节数据时,存在大端和小端模式;2:处理器存储单字节数据时,位顺序也存在大端和小端模式;3:小端模...

  • 什么是大小端?

    一、大端模式和小端模式的起源Big-Endian和Little-Endian的定义如下: Little-Endia...

网友评论

    本文标题:计算机的小端模式和大端模式

    本文链接:https://www.haomeiwen.com/subject/jxwzjftx.html