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

连江网站建设服务一元购物app

连江网站建设服务,一元购物app,旅游响应式网站建设,网站开发php岗位职责目录 1. 浮点数存储规则 2. IEEE754规定#xff1a; 3. 关于M的说明#xff1a; 4. 关于E的说明#xff1a; 5. 关于S的说明#xff1a; 6.浮点数从内存中取出#xff08;三种情况#xff09; 情况1#xff1a;E不全为0或不全为1 情况2#xff1a;E全为0 情况3 3. 关于M的说明 4. 关于E的说明 5. 关于S的说明 6.浮点数从内存中取出三种情况 情况1E不全为0或不全为1 情况2E全为0 情况3E全为1 小心VS2022不可直接接触否则没这个必要方源面色淡然一把抓住顷刻炼化  1. 浮点数存储规则 大家都知道整型数据是以补码的方式存放在内存中。以下几个概念是需要知道的 原码补码反码都是以二进制形式表示的。 正整数的原码反码补码都相同。 负整数的补码反码1原码的符号位不变数值位按位取反。 但是浮点数不同浮点数有着一套自己的存储规则。 根据国际标准IEEE电气和电子工程协会 754任意一个二进制浮点数V可以表示成下面的形式 根据国际标准IEEE电气和电子工程协会 754任意一个二进制浮点数V可以表示成下面的形式 (-1)^S * M * 2^E(-1)^S表示符号位当S0V为正数当S1V为负数。M表示有效数字大于等于1小于2。2^E表示指数位。E是一个无符号整数。 这里需要记住S,M,E分别代表的是什么 简述S用于判断正负号M表示有效数字E与小数点相关 2. IEEE754规定 对于32位的浮点数最高一位为S接着的8位是指数E剩下的23位为有效数字M。 对于64位双精度数最高一位为S接着的11位是指数E剩下的52位为有效数字M。 3. 关于M的说明 无论是单精度float还是双精度double它们的有效数字M可以写成1.xxxx的形式但通常1都会省略掉系统默认为1这样可以节省一格bit位比如存放二进制1.01时M中只会存放01整数部位1会省略不写 4. 关于E的说明 E为一个无符号整数(unsigned int),因此如果E为8位bit它的取值为0-255如果E为11位bit它的取值为0-2047 IEEE 754规定存入内存时E的真实值必须再加上一个中间数这个中间数在8位的E中是127在11位的E中是1023(其实就是最大取值的一半)比如2的10次方的EE此时为10所以保存成32位float浮点数时必须保存成10127 137的二进制即10001001 5. 关于S的说明 S可以决定小数是正数还是负数如果存储的是正数S为0如果存储的是负数S为1 我们举出两个例子来讲解浮点数在内存中的存储 #define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() {float a 5.5f;/*S 0 5.5 的二进制为 101.1 整数部位1省略不写M 011因为101.1 1.011 * 10的2次方所以E 2因为是float型存储所以E要在真实值上加127即129,129的无符号二进制为1000 0001所以E的存储方式为1000 0001[0] [1][0][0][0][0][0][0][1] [0][1][1][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]S E M */float b 0.5f;/*S 0;0.5 的二进制为 0.1因为二进制形式规定第一位必须为1所以可以写成1.0 * 10的-1次方,因此 E -1,M 0E需要在真实值上127即126,126的无符号二进制为0111 1110,所以E的存储方式为 0111 1110低地址[0] [0][1][1][1][1][1][1][0] [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]高地址*/ } 6.浮点数从内存中取出三种情况 我们学习了浮点数的存储那浮点数从内存中取出打印出来又是如何操作的呢 就像我们知道整数存储的是补码使用printf打印出来的是原码 情况1E不全为0或不全为1 当E不全为0或不全为1时浮点数在从内存中取出时会将E的计算值减去127或1023得到真实值再将有效数字M前加上第一位的1 详细讲解如下 #define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() {float a 5.5f;/*低地址[0] [1][0][0][0][0][0][0][1] [0][1][1][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]高地址S E M 取出方式E此时为小端存储无符号整数E表示129,取出时用129-127 得到E的真实值 2 再将有效数字M前加上第一位的1过程 1.011 向右移动 E 个小数点,得到最后结果101.1相当于二进制原码为101.1*/float b 0.5f;/*低地址[0] [0][1][1][1][1][1][1][0] [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]高地址取出方式E此时无符号整数表示为126需要减去127得到E的真实值-1再将有效数字M前加上第一位的1,过程 1.0 向右移动 E 个小数点表示0.1相当于二进制原码为0.1*/ } 情况2E全为0 如果E全为0E等于1-127或者1-1023即为真实值有效数字M不再加上第一位的1而是还原成0.xxxxxxx的小数 #define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() {/*低地址[0] [0][0][0][0][0][0][0][0] [0][0][1][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]高地址S E M 如果浮点数此时这样存储想要推出它原本的二进制数E 1-127 得到真实值 -126M不再加1而是还原成0.xxxx,所以M此时为0.001相当于原码为 0.001的小数点向右移动-126位是一个极其接近0的小数*/ } 情况3E全为1 当E全为1时表示特殊值。如果M全为0表示±无穷大(正负取决于符号s如果M不全为0表示这不是一个数NaN。
http://www.sczhlp.com/news/239898/

相关文章:

  • 个人网站建立多少钱重庆网站制作公司
  • 手机必备网站电脑课程培训零基础
  • 电子商务网站建设结业论文给网站网站做推广
  • 顺德销售型网站建设无限个网站虚拟空间
  • 杭州网站建设公司排名网站js效果
  • aspx网站搭建教程网站页面统计代码是什么意思
  • 网页数据库系统怎么做说说seo论坛
  • 合作做网站的总结和心得wordpress微信投票
  • 做网站用新域名还是老域名北京做校园的网站
  • 公司网站做百度推广需要交费吗网站 设计公司 温州
  • 集团企业网站建设网站建设合同概念
  • 德泰诺网站建设产品项目开发流程图
  • 免费网站建设下载旅游营销网站开发
  • 徐州网站建设方案书wordpress影院404
  • 大气精美网站设计工作室织梦模板wordpress 一直崩溃
  • 网站增加keywords关键词有影响吗任丘市网站建设价格
  • 官方网站免费建设南京平台公司
  • 奉贤网站建设哪家好怎样做微信挂机平台网站
  • 湖北专业网站建设产品介绍做个网站页面多钱
  • 网站域名备案后公示北京平面设计公司招聘信息
  • tryhackme-网络安全基础-命令行- Linux Shells-23
  • 网站建设制作费厦门做网站优化多少钱
  • 网站建设 经典书籍嵌入式软件开发培训班
  • 网站做过备案后能改别的公司吗网站设计创意方案
  • 淄博网站建设咨询臻动传媒购物网站首页制作代码
  • 做网站外链需要多少钱线上平台搭建要多少钱
  • 模糊背景网站建站行业消失了吗
  • 网站营销建设经典重庆论坛新闻论坛
  • 网站如何与域名绑定做网站没有必须要ftp吗
  • 网站建设职责东莞设计网