大小端存储

/*
+------------------------------------------------------------------------+
|     小端存储: 低地址存放低位数据;                                     |
|     例: int型数 0x12 34 56 78                                         |
|                     |        |                                         |
|                    高位     低位                                       |
|                                                                        |
|     ------------------------------------------                         |
|     1                                                                  |
|     ---------------------                                              |
|     &a      -> 0x0022FF54   -> 12345678                                |
|     ---------------------                                              |
|     &a[0]   -> 0x0022FF54   -> 78                                      |
|     &a[1]   -> 0x0022FF55   -> 56                                      |
|     &a[2]   -> 0x0022FF56   -> 34                                      |
|     &a[3]   -> 0x0022FF57   -> 12                                      |
+------------------------------------------------------------------------+
 
*/
#include <stdbool.h>
void test()
{
    int a = 0x12345678;
    printf("&a \t-> 0x%p\t-> %x\n"
           "---------------------\n"
           "&a[0]\t-> 0x%p\t-> %x\n"
           "&a[1]\t-> 0x%p\t-> %x\n"
           "&a[2]\t-> 0x%p\t-> %x\n"
           "&a[3]\t-> 0x%p\t-> %x\n",
           &a, a,
           (char*)&a + 0, *((char*)&a + 0),
           (char*)&a + 1, *((char*)&a + 1),
           (char*)&a + 2, *((char*)&a + 2),
           (char*)&a + 3, *((char*)&a + 3));
 
}
 
bool is_little_endian(void)
{
    int a = 0x1;
    return *(int *)&a == a;
 
}
int main(int argc, char *argv[])
{
     
    printf("%d\n", is_little_endian());
    puts("---------------------");
    test();
    return 0;
}

  

posted @   庄庄庄  阅读(250)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示