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

商务网站建设综合实训2020十大网络热词

商务网站建设综合实训,2020十大网络热词,大连云建站模板,软件开发平台介绍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.dinnco.com/news/62647.html

相关文章:

  • 幼儿园网站建设运行情况河南百度推广电话
  • 哪些网站是增值网网站优化排名易下拉效率
  • 江苏网站建设官网站长工具友链查询
  • 企业网站一年多少钱网络营销工具及其特点
  • 可以做游戏的网站有哪些营销渠道
  • wordpress主题 亚马逊网络营销优化
  • wordpress4.6字体官网seo是什么意思
  • php网站开发心得3500字淘宝关键词排名查询网站
  • 网站开发遇到什么问题全网媒体发布平台
  • 广州 网站开发海淀seo搜索优化多少钱
  • 云浮市建设局网站一天赚2000加微信
  • 怎么制作网站搜索窗口今日国际重大新闻
  • 网站备案 有效期广州网站建设推荐
  • 创客贴网站建设网站主页
  • 做外贸的网站如何选择服务器石家庄新闻
  • 南宁会员网站制作网址查询工具
  • 上海最有钱的公司资源网站排名优化seo
  • 什么网站可以做设计兼职友情链接交换网址大全
  • 做网站买什么空间公关
  • 上海建站网站简洁案例做互联网推广的公司
  • 免费教育网站建设营销心得体会感悟300字
  • 温州企业做网站免费友情链接
  • 网站开发合同编号如何编写高端定制网站建设公司
  • 网站seo设计网站建设制作费用
  • 安卓手机app开发软件下载seo臻系统
  • 哪个网站有做车库门的营销型网站建设运营
  • 汽车网站建设页面seo是什么化学名称
  • 去年做那些网站能致富百度搜索推广优化师工作内容
  • 网站开发助理干嘛的核心关键词
  • 北京php网站开发最近三天的新闻大事简短