大小端


大端

  • 低地址存高位

小端

  • 低地址存低位

测试

测试自己电脑大小端

#include <stdio.h>

//我的是小端
int main() {

    // 1027 = 1024 + 3 = 0x403 = 0100 0000 0003 (2)
    int a = (1 << 1) + (1 << 10) + (1 << 20) + (1 << 30); //4字节
    a = 1027;
    printf("%d\n", a);
    printf("%#x\n", a); 
    
    //因为int四字节
    char *p = (char*)&a;
    
    printf("address: %p, value: %#x\n", p, *p);
    printf("address: %p, value: %#x\n", p + 1, *(p + 1));
    printf("address: %p, value: %#x\n", p + 2, *(p + 2));
    printf("address: %p, value: %#x\n", p + 3, *(p + 3));


    return 0;
}
十进制 二进制 十六进制
1027 0100 0000 0003 0x403

输出结果

小端

1027
0x403
address: 0x7fff190f3a4c, value: 0x3
address: 0x7fff190f3a4d, value: 0x4
address: 0x7fff190f3a4e, value: 0
address: 0x7fff190f3a4f, value: 0

文章作者: Axieyun
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Axieyun !
评论
评论
  目录