后台-插件-广告管理-内容页广告位一(手机)

您现在的位置是:首页 > 开发类 > 软件研发软件研发

大小端存储

2021-09-15 00:23:06软件研发人已围观

简介0. 问题引入 若定义 : int a = 1; 我们知道 a 在内存存储时 应该为 0x 00 00 00 01,可是看内存里存的是 0x 01 00 00 00,这就是大小端存储的问题。 1.什么

0. 问题引入

  若定义 : int a = 1; 我们知道 a 在内存存储时 应该为 0x 00 00 00 01,可是看内存里存的是 0x 01 00 00 00,这就是大小端存储的问题。

  

1.什么是大小端存储

  高字节和低字节:

  

  高地址和低地址:

  

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

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

  

2 如何测试机器是大端模式还是小端模式

  1,利用指针来测试

 1 #include 
 2 
 3 int main()
 4 {
 5     int a = 1;
 6     char *p = (char*)&a; // 用char型指针访问第一个字节的内容
 7 
 8     if (*p == 1)
 9     {
10         printf("小端");
11     }
12     else
13     {
14         printf("大端");
15     }
16     return 0;
17 }

  2,利用联合体的性质

 1 #include 
 2 int check_system()
 3 {
 4     union Un //联合体共用一块内存
 5     {
 6         char c;
 7         int i;
 8     }u;
 9     u.i = 1; // 此时存入一个int型的值
10     return u.c; // 只读取一个字节 如果是 1 ,为小端,0为大端。
11 }
12 int main()
13 {
14     int a = check_system();
15     if (a == 1)
16     {
17         printf("小端");
18     }
19     else
20     {
21         printf("大端");
22     }
23     return 0;
24 }

  

  

Tags:

很赞哦! ()

后台-插件-广告管理-内容页广告位二(手机)

相关文章

后台-插件-广告管理-内容页广告位三(手机)
后台-插件-广告管理-内容页广告位四(手机)

文章评论

留言与评论(共有 0 条评论)
   
验证码:

本栏推荐

站点信息

  • 文章统计141507篇文章
  • 浏览统计17469次浏览
  • 评论统计1个评论
  • 标签管理标签云
  • 统计数据:统计代码
  • 微信公众号:扫描二维码,关注我们