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

做别人一样的网站模板武汉服装seo整站优化方案

做别人一样的网站模板,武汉服装seo整站优化方案,网站改了title 删除百度就的收录,wordpress虚拟主机内页全打不开🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C语言 目录 前言 一、整数的存储 二、大小端字节序及其判断 1.什么是大小端 2.为什么有大小端 3.用c语言编写程序判断大小端 三、浮点数的存储 1.浮点数…

🌟🌟作者主页:ephemerals__

🌟🌟所属专栏:C语言

目录

前言 

一、整数的存储

二、大小端字节序及其判断

1.什么是大小端

2.为什么有大小端

3.用c语言编写程序判断大小端

三、浮点数的存储

1.浮点数的存储规则

2.浮点数的存储过程:

3.浮点数的读取过程:

总结


前言 

        我们都知道,在计算机中,数据都是以二进制的形式存储的。但是对于整数和浮点数而言,它们的存储方式却略有不同。今天我们深入探讨以下整数和浮点数在内存中的存储。

一、整数的存储

       整数的二进制表示方法有三种:原码,反码和补码。当表示有符号的整数时,这三种表示方法都有符号位数值位两部分,符号位占一个二进制位(最高位),数值位占其余二进制位,当符号位为0时,表示这是一个正数,为1时表示这是一个负数

这里需要注意以下两点:

1.正整数的源码,反码和补码相同。

2.对于负整数,三者均不相同:

        原码:直接将数值翻译成二进制数。

        反码:符号位不变,数值位按位取反。

        补码:源码+1得到补码。

正数的存储方式:一律以补码的形式存储。

二、大小端字节序及其判断

        首先,我们来运行一段代码:

我们给a赋值0x11223344,但是在内存窗口中这四个字节的内容却是倒着排放的。这是为什么呢?

这就涉及到大小端的问题了。

1.什么是大小端

        对于一个超过一字节的数据,在内存中存储的时候我们就需要考虑到字节排列的顺序问题。我们根据不同的字节存储顺序,将其分为大端字节序和小端字节序。它们的含义是:

大端字节序表示位的字节内容存放在地址处,位字节内容存放在地址处。

小端字节序表示位的字节内容存放在地址处,位字节内容存放在地址处。

我们画图表示以下大小端的含义:

2.为什么有大小端

        那么,为什么会有大小端呢?

        因为在很多编程语言当中,许多数据类型的内存大小是大于一个字节(8bit)的,它们存储在宽度大于一个字节的寄存器当中时,必然存在多个字节安排顺序的问题。因此,大端字节序和小端字节序就出现了。

3.用c语言编写程序判断大小端

        在了解了大小端的概念及成因后,我们就可以由此来写一个程序,判断当前机器是大端还是小端了:

#include <stdio.h>int main()
{int a = 0x11223344;char* p = &a;//用char型指针访问int型变量,访问其最低地址的空间printf("%x\n", *p);return 0;
}

运行结果:

可以看到,程序以十六进制形式打印出了这个数的最低位。由于char型指针访问的是int类型的最低地址空间,这就说明最低地址存放的是低位的字节内容,所以作者的电脑是小端字节序

三、浮点数的存储

        了解了整数的存储之后,我们来探讨一下浮点数的存储。首先我们可以猜一猜以下代码的运行结果:

#include <stdio.h>int main()
{int n = 9;float* p = (float*)&n;printf("n的值为:%d\n", n);printf("*p的值为:%f\n", *p);*p = 9.0f;printf("n的值为:%d\n", n);printf("*p的值为:%f\n", *p);return 0;
}

结果如下:

看到结果,想必你会大吃一惊吧!为什么同一个数,以不同的类型输出会有这么大的差异?这就关乎浮点数在内存中的存储了。

1.浮点数的存储规则

根据国际IEEE754标准,任意一个二进制的浮点数都可以表示成如下形式:

V=\left ( -1 \right )^{S}\times M\times 2^{E}

其中,\left ( -1 \right )^{S}表示符号位,S为0时,表示V是一个正数;S为1时,表示V是一个负数。

           M表示V的有效数字。1\leqslant M< 2

           2^{E}表示指数位。

举个例子,对于浮点数5.0,它的二进制形式是101.0,写成科学计数法就是1.01\times 2^{2}

这样,根据刚才的格式,S=0,M=1.01,E=2。

我们可以发现:对于一个浮点数,只要知道了S,M,E这三个值,就能得出这个浮点数的值。在计算机中,浮点数也是将这三个数存储到内存中,使用时根据规则就能够得到该值。这三个数的存储规则如下:

对于32位的浮点数,最高位存储S,接下来的8位存储E,剩下的23位存储M。

对于64位的浮点数,最高位存储S,接下来的11位存储E,剩下的52位存储M。

2.浮点数的存储过程:

1.对于有效数字M,由于1\leqslant M< 2,就是1.xxxxxx的形式,那么这个个位数“1”就可以不用存储,只存储小数部分,这样就可以多存储一位有效数字。

2.对于指数E,首先这里的E一定是一个无符号整数,但是科学计数法的指数是可以出现负数的,所以,IEEE754规定:存入E时,要给它加上一个中间数再存储。对于8位的E,中间数是127;对于11位的E,这个中间数是1023。

3.浮点数的读取过程:

浮点数的读取过程分三种情况:

1.E的各位不全为0或者不全为1:此时,将E的值取出并减去127(或1023),得到真实值,然后将有效数字M加上1。

2.E全为0:此时,E的真实值变成1-127(或1-1023),并且M不再加1,这用于表示±0或者极小的数字。

3.E全为1:此时,如果有效数字M全为0,这个数就表示正负无穷大(符号由S决定)。

了解了浮点数的存储规则,存储过程和读取过程之后,之前代码的运行结果就能够说明白了。

总结

        这篇文章我们探讨了整数的存储、大小端的概念和判断方式、浮点型数据的存储规则,存储过程和读取过程,进一步了解了计算机底层数据的存储模式。之后博主会继续跟大家分享c语言相关内容,感谢大家的支持❤❤❤

http://www.sczhlp.com/news/17254/

相关文章:

  • 哈尔滨网站搜索优化公司怎么用网络推广业务
  • 南通seo网站诊断今日山东新闻头条
  • json做网站的数据库姓名查询
  • 做聊天网站的视频教程他达拉非的副作用和危害
  • 深圳网站设计公司百度官方平台
  • 电力行业做的好的招投标网站长沙百度关键词排名
  • 网站后台有哪些模块武汉seo管理
  • 局域网如何做视频网站网络营销题库及答案2020
  • 用focusky做h5微网站seo推广学院
  • WordPress 整合源码网站seo优化8888
  • 建设部标准网站百度指数分析案例
  • [笔记]CDQ 分治
  • 建站怎么赚钱二级域名在线扫描
  • 南山制作网站公司百度收录提交入口网址
  • 网站建设 千佳网络seo工作前景如何
  • 深圳哪家公司做网站阿里云域名购买
  • 北京网站制作net2006磁力猫torrent kitty
  • 昆明做网站建设的公司排名网页在线代理翻墙
  • 看乱码的网站精准引流怎么推广
  • 电气建设网站工具刷网站排刷排名软件
  • 免费图片编辑网站网上营销是做什么的
  • 深圳有哪些网站开发公司广告联盟论坛
  • 产品网站建设框架seo关键词优化培训班
  • 深圳电力建设公司网站谷歌搜索引擎seo
  • 商城源码哪个品牌好佛山外贸seo
  • 如何用office做网站seo服务外包报价
  • 英文网站的外部链接 建设有没有推广app的平台
  • 天水市建设银行官方网站seo超级外链工具免费
  • 简洁网站设计百度竞价最低点击一次多少钱
  • 餐饮网站建设方案书深圳平台推广