美文网首页
详解大端模式和小端模式

详解大端模式和小端模式

作者: L白水飘萍 | 来源:发表于2018-11-07 13:50 被阅读0次

    1、字节序

    字节顺序,又称端序尾序(英语:Endianness)。在计算机科学计算机科学")领域中,是跨越多字节的程序对象的存储规则。
    在几乎所有的机器上,多字节对象都被存储为连续的字节序列。例如在C语言中,一个类型为int的变量x地址为0x100,那么其对应地址表达式&x的值为0x100。且x的四个字节将被存储在存储器的0x100, 0x101, 0x102, 0x103位置。

    2、大小端

    在计算机中一般讲字节序分为两类:Big-Endian(大端字节序) 和 Little-Endian
    a) Little-Endian 高位字节在前,低位字节在后。
    b) Big-Endian 低位字节在前,高位字节在后。
    c) 网络字节序:TCP/IP各层协议将字节序定义为Big-Endian,因此TCP/IP协议中使用的字节序通常称之为网络字节序。
    举个小例子:
    整数127(十进制)在计算机(64位)中大/小端字节序

    image.png

    3、x86中的字节序

    在x86的计算机中,一般采用的是小端字节序

    #include<stdio.h>                                                                                                    
    int main(){
        int b = 127;
        int *p = &b; 
        char c = 0 ; 
        for(int i = 0;i < 4;i++){
            c = *((char*)p+i);
            printf("c is %d \n",c);    
        }   
    }
    ~   
    

    输出

    c is 127 
    c is 0 
    c is 0 
    c is 0 
    

    相关文章

      网友评论

          本文标题:详解大端模式和小端模式

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