当前位置: 首页 > news >正文

商务网站建设综合实训2022当下社会热点话题

商务网站建设综合实训,2022当下社会热点话题,预付做网站定金如何,微金所网站谁做的1. 大小端介绍 大端(Big Endian)和小端(Little Endian)是两种CPU或者计算机系统存储数据的方式。 在大端系统中,数据的高位字节(MSB)存储在内存地址的低位,低位字节(LSB…

1. 大小端介绍

  • 大端(Big Endian)和小端(Little Endian)是两种CPU或者计算机系统存储数据的方式。

  • 在大端系统中,数据的高位字节(MSB)存储在内存地址的低位,低位字节(LSB)存储在内存地址的高位,这种存储方式类似于阅读习惯,从左到右。

  • 在小端系统中,数据的低位字节存储在内存地址的低位,高位字节存储在内存地址的高位,这种存储方式和我们平时阅读数字的顺序是一致的,从右到左。假如我们有一个十六进制数0x12345678占用四个字节,如果它是大端存储将是以下画面:
    在这里插入图片描述

因为12是十六进制数0x12345678的高位,它存在低地址位中,因此是高位字节存储在低内存地址,因此是大端存储,这也看起来符合人的思维

如果它小端存储则是以下画面
在这里插入图片描述

这看起来就很反人类阿,低字节的78存在了左边,但是字面上却合顺,即低字节存在地址低字节。这就是小端存储。

2. 使用union判断大小端

2.1 union内存处理方式

union内存特点主要有如下:

  • 联合体的所有成员相对于基地址的偏移量为0
  • 联合的内存大小等于其中最大成员的大小。
  • 联合的所有成员共享同一块内存区域,即它们的存储位置是相同的。
  • 其对其方式要适合于联合体中所有类型的成员

用人话讲就是:

  • 联合体要大于等于最长的一个结构变量的空间
  • 联合体变量的各个成员都是从低字节开始公用的(这是最重要的)

2.2 使用union判断大小端

#include <stdio.h>int check_ending()
{union{int a;char b;}c;c.a = 1;return c.b == 1;
}int main()
{if (check_ending()) printf("the little end!");else printf(" the big end");
}

代码中使用了一个联合体c来测试CPU字节序。联合体中包含了一个int类型的成员a和一个char类型的成员b。因为int类型占据了4个字节,而char类型只占据了一个字节,所以当联合体中的整型变量a被设置为1时,如果该CPU是小端序,它在内存中的存储顺序将会是0x01 00 00 00,而char类型变量b所占据的第一个字节的值应该为1。如果是大端序,它在内存中的存储顺序将会是0x00 00 00 01,而char类型变量b所占据的第一个字节的值应该为0。
最后,在main函数中根据checkCPU()的返回值输出对应的信息,告知当前CPU的字节序。如果checkCPU()返回true,则表示当前CPU是小端序,输出"The endian of cpu is little \n";如果checkCPU()返回false,则表示当前CPU是大端序,输出"The endian of cpu is big \n"。

画图讲解:

    c+-------+
a  |       |     0x00000001+-------+
b  |   01  |     0x01+-------+小端序:
c.a = 0x00000001,在内存中的存储顺序为:
+----+----+----+----+
| 01 | 00 | 00 | 00 |
+----+----+----+----+
c.b 的值为0x01,低地址存放低字节,因此判断为小端序,由于b也是从低字节开始存储数据,因此b的数值和a一样。大端序:
c.a = 0x00000001,在内存中的存储顺序为:
+----+----+----+----+
| 00 | 00 | 00 | 01 |
+----+----+----+----+
c.b 的值为0x00,低地址存放高字节,因此判断为大端序,a的低字节位1存在了内存的高地址上,b却仍然从低地址位读数据,因此是0
http://www.dt0577.cn/news/22127.html

相关文章:

  • 青岛中小微企业互联网站建设补贴软文推广有哪些
  • 深圳做网站设计公司铁岭网站seo
  • 专业的外贸网站建设怎么做优化关键词
  • 网站开发新闻管理系统的背景营销团队
  • 企业网站用视频做首页公司企业网站建设方案
  • 做公益网站的说明合肥网站推广公司
  • 做局域网站数据库网站seo收录工具
  • 网站制作介绍重庆旅游seo整站优化
  • 做的网站很卡是什么原因呢优化工作流程
  • 网站怎么做移动端怎样做企业推广
  • 做网站那个公司比较好软件外包公司
  • 有哪些免费网站可以做店招长春网站建设公司哪个好
  • 大连网站建设客服天津网站建设
  • 全国建设造价信息网站百度seo在线优化
  • 免费的网站制作平台商丘关键词优化推广
  • 网站建设虚线的代码百度官网网站登录
  • 百度验证网站百度一下打开
  • 在线图片编辑去除水印教程seo自动优化软件安卓
  • 龙岗地区做网站公司深圳网络推广网络
  • 广州疫情最新公布超级seo助手
  • 遂宁网站建设求职seo
  • 搜索网站怎么做武汉百度推广代运营
  • 培训学做网站要多久怎么做网站免费的
  • 做网站的公司应该税率多少做seo推广一年大概的费用
  • 做付费网站站长全自动年赚30万浏览器下载
  • discuz做的网站怎么修改青岛seo网站推广
  • 深圳网站建设公司报价单青岛app开发公司
  • 做网站ps笔记本电脑营销策划公司靠谱吗
  • 用php做的大型网站站长工具查询网
  • 广东省汕头市龙湖区疫情最新消息seo sem