zoukankan      html  css  js  c++  java
  • 大小端模式

    大小端的由来

    当数据类型为int,在32bit的系统中,它需要占用4个字节(32bit),这个时候就会产生这4个字节在寄存器中的存放顺序的问题。比如int x = 0x12345678。具体的该怎么存放呢?这个时候就需要理解计算机的大小端的原理了。

    图解大小端

    06f9bf2f-3f43-464c-a1d7-b6b011c794d6[4]

    大小端主要看低地址存放的是高字节还是低字节

    低地址中存储的是高字节位,为大端模式

    低地址中存放的是低字节位,为小端模式

    大小端存储说明

    【注】不管是大端法还是小端法存储,计算机在内存中存放数据的顺序都是从低地址到高地址,所不同的是首先取低字节的数据存放在低地址还是取高字节数据存放在低地址。

    大端法和小端法指的是字节在内存中存储时的排列规则,而不是数据中的位的排列规则。也有以位序排列的机器,但很少见。另外,再次明确一下,大端法或小端法是数据在存储时的表现,而不是在寄存器中参与运算时的表现。

    编写程序测试系统的大小端

    #include<stdio.h>
    int main(void)
    {
        unsigned int x=0x12345678;
        unsigned char *p=(unsigned char*)&x;
        printf("%0x %0x %0x %0x
    ",p[0],p[1],p[2],p[3]);
        return 0;
    }

    运行结果是:

    88c071df-554c-4d94-9eac-27ddc25b08d2

    说明Linux采用小端模式

  • 相关阅读:
    sql分页查询
    vi编辑器使用
    Linux命令:
    ubuntu中mysql忘记密码如何修改
    关于MySQL中自增的理解和设置
    MySQL中是索引
    MySQL中的分页操作结合python
    MySQL的分组和排序
    MySQL多表连接操作
    .NET Core App部署Linux
  • 原文地址:https://www.cnblogs.com/WindSun/p/11284130.html
Copyright © 2011-2022 走看看