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

英语网站如何做社群仿站建设

英语网站如何做社群,仿站建设,企业门户网站模板html上线,wordpress视频教程式科学计数法 你可能不了解「浮点数」#xff0c;但你一定了解「科学记数法」。 10进制科学记数法把一个数表示成a与10的n次幂相乘的形式#xff08;1≤|a|10#xff0c;a不为分数形式#xff0c;n为整数#xff09;#xff0c;例如#xff1a; 19970000000000 1.9…科学计数法 你可能不了解「浮点数」但你一定了解「科学记数法」。 10进制科学记数法把一个数表示成a与10的n次幂相乘的形式1≤|a|10a不为分数形式n为整数例如 19970000000000 1.997 × 10 ^ 13 原本的 19970000000000 表示共需要14位。使用科学计数法后小数部分 1.997 的表示需要4位指数部分 13 需要2位则一共只需要 42 6 位即可表示这个原本看上去很多很长的数。 小数也可以使用科学计数法来表示例如 0.0000001586 1.586 × 10 ^ -7 原本的 0.0000001586 表示共需要11位。使用科学计数法后小数部分 1.586 的表示需要4位指数部分 -7 需要2位符号位也占一位则一共只需要 42 6 位即可表示该数。 设想我们现在设计了这么一种格式它表示的是一种10进制的科学计数法。为了说明简单我们不考虑指数为负数和数值为负数的情况。它一共有8位每一位都由10进制数字0~9组成前6位表示小数部分后2位表示指数部分。例如 数字 12345603 它表示的值是 1.23456 × 10 ^ 3 1234.56 数字 12345678 它表示的值是 1.23456 × 10 ^ 78 一个很大的数 所以当我们要表示或运算某个较大或较小且位数较多的数时用科学记数法会更加方便。 在关于定点数的这篇文章《什么是定点数》中我们谈到了什么是「定点数」。简而言之定点数就是小数点表示固定的数。那么对应的「浮点数」是不是就是小数点不固定是浮动的 恭喜你答对了。 「浮点数」一词来自英文「float point number」即「浮动小数点的数」。和上面所说的科学计数法类似它们的小数点位置都是浮动的。 和10进制的科学计数法一样2进制数也可以表示成类似的形式例如 101.875D 1100101.111B 1.100101111 * 2^6 所以只需要约定好一定的位数来表示小数部分一定的位数来表示指数部分就可以完整地表示一个二进制数。如何定义这些细节是个伤脑筋的问题而且要命的是如果我定义的标准和同事的标准不一致那么该听谁的 好在IEEE电气与电子工程师协会Institute of Electrical and Electronics Engineers帮我们把这些工作都给做了现在通用的浮点数算术标准是「IEEE 754」。 浮点数格式 IEEE 754 规定了两种常用的浮点数格式 单精度型也叫32位型或者float双精度型也叫64位型或者double 因为这两种格式的表示规则是类似的只是位宽不一样了解了其中一种后就可以快速掌握另一种所以下文主要介绍 float 类型的浮点数表示方法。 float类型 float 占用 32 位的存储空间32 位被分为了如下的三个部分 符号位ssign符号位为 0 说明该浮点数为正数若为 1 则说明浮点数为负数阶码Eexponent代表该浮点数被二进制科学表示法规范化后的指数阶码采用移码表示尾数Mmantissa被二进制规约化后要求小数点前一位数必须为 1所以尾数中实际隐含了最高位 1例如尾数为 M则实际在还原时相当于是 1.M 1关于尾数M 尾数是用来表示精度的因为一个数的表示其实是有多种方法的例如 314D 3.14 × 10 ^ 2 31.4 × 10 ^ 1 1011B 1.011 × 2 ^ 3 10.11 × 2 ^ 2 101.1 × 2 ^ 1 所以需要对小数部分的表示做出规定为此标准规定小数部分需要简化到「小数点左边只有一位非0数」的形式。即规定 314D 只能表示为 3.14 × 10 ^ 2 而不能表示为 31.4 × 10 ^ 1 或其他形式 1011B 只能表示为 1.011 × 2 ^ 3 而不能表示为 10.11 × 2 ^ 2也不能表示为 101.1 × 2 ^ 1 或其他形式 因为10进制的非0数有1~9共9个所以小数点最左边这位是不能省略掉的但是2进制数的非0数只有1这个所以小数点最左边的非0位可以被省略例如 1011B 1.011 × 2 ^ 3 小数部分虽然为1.011但是可以省略为.011即011 这样就可以多表示一位信息。float的尾部部分即小数部分定义了23位因为省略了一个最前面的 1 所以它是表示的其实是24位信息。 2关于阶码E 阶码是用来表示范围的。float定义了8位数的阶码所以它的表示范围是0~2562的256次方。这种定义有个问题就是无法表示负指数将其定义为有符号数是个不错的解决办法但随之而来的问题是–比较两个阶码时不方便。 做两个有符号数的某些运算例如加法时首先需要比较二者的阶码大小然后对其中一个数的阶码和尾数进行调整。例如 计算 3.14 × 10 ^ 2 1.56 × 10 ^ 3的值时首先需要比较二者的阶码大小然后对其中一个数进行调整将1.56 × 10 ^ 3重新表示为15.6 × 10 ^ 2然后尾数部分相加 3.14 15.6 15.914即结果为15.914 × 10 ^ 3再调整阶码将其规范化15.914 × 10 ^ 3 1.5914 × 10 ^ 4 可以看到运算其中一个重要的环节就是对两个数的阶码大小进行对比。如果2个阶码是一正一负那么对比二者的大小还需要考虑符号位这样就会增加额外逻辑。如果将阶码都加上同一个数使二者均为正数那么对比大小就方便很多了。 标准是这样规定的阶码的值需要加一个偏移量 127 至于为什么移127不移128我也不清楚如果你知道可以告诉我。例如 1.011 × 2 ^ 3的原始阶码是3按规定加上127后等于130存储到8位空间即为 1000 0010 光说不练云玩家接下来看看如何实现浮点数与10进制数之间的转换。 1将10进制数转换为float类型的浮点数 将 228 转换为浮点数的流程如下 是正数即符号位为0把10进制转成2进制228D11100100B写成规范化形式11100100 1.11001 × 2 ^ 7指数为7阶码要加上偏移量127即E 7 127 134D 1000 0110B小数部分为1.11001最前面的1是可以被隐含表示的所以尾数M 0.11001 11001因为尾数一共有23位所以需要在低位补0直到满足位宽要求即 11001000000000000000000 最终结果为0 10000110 11001000000000000000000 这里有一个浮点数转换网站可以查询正确结果。 2将float类型的浮点数转换为10进制数 将 40490000 16进制转换为10进制数的流程如下 将其转换为2进制40490000 0100 0000 0100 1001 0000 0000 0000 0000然后分别获取符号、阶码和尾数。最高位的符号位为0说明是一个正数接下来的8位是阶码 10000000即128因为加上了偏移量127所以指数的实际值是128 - 127 1。剩余的23位是尾数10010010000000000000000即0.1001001再加上默认的前导1所以小数部分的值为10.1001001 1.1001001该数的2进制值为 1.1001001 × 2 ^ 1 11.001001将其转化成10进制数11.001001B 3. 140625。这里的转化有个简便方法11.001001可以看做是11001001除以2的6次方即64而11001001也就是201即201/64 3.140625 这是网站转换的结果和我们换算的结果一致。 double类型 double占用 64 位的存储空间64 位被分为了如下的三个部分 这三部分的定义是和float类型一致的只是位宽不同。需要注意的是由于位宽的变化所以double的阶码的偏移值不再是127而是 1023。 除了这两种较为常用的类型外其实IEEE754还规定了几种其他类型但是都不太常用所以不赘述了。 非规约化 当阶码E不全为0也不全为1时该浮点数称为**规约化normal形式。上面介绍的都是规约化形式的浮点数。当阶码E全为0时该浮点数称为非规约化subnormal**形式。根据尾数的不同可再分为2种形式 尾数M为全 0 时表示 0 视符号位而定是0还是-0二者在某些场景有区别尾数M不全为 0 时表示非规约化小数 非规约化小数的定义和规约化小数之间存在如下区别 规约化小数的尾数约定了含有一个隐藏的前导1也就说真正表示的值是1.xxx而非规约化小数的尾数则约定含有一个隐藏的前导0即真正的值为0.xxx。规约化小数的阶码需要加一个偏移量127而非规约化小数的阶码需要加一个偏移量 126 非规约化小数可以用来表示那些非常小的接近0的数。 特殊值 除此之外还规定了一些特殊值的表示方法 如果阶码为全1且尾数为全0时表示无穷。符号位为0则是正无穷符号位为1则是负无穷。两个很大的数相乘或者除以零时无穷可以表示 溢出 的结果。如果阶码为全1且尾数不为全0时为NaNnot a number表示这不是一个合法实数。一些运算的结果不是合法值就会返回NaN这样的结果例如对-1开平方√-1 对于以上情况针对float类型可以总结如下
http://www.zqtcl.cn/news/867359/

相关文章:

  • 做网站和推广工资多少招聘网站建设价格
  • 网站建设 响应式 北京网架公司十大排名榜
  • 网站推广目标关键词是什么意思网站推广软件工具
  • 哪里可以做免费的物流网站wordpress为什么放弃
  • 做网站需要多少钱 都包括什么高端大气的网站首页
  • 黄石做网站联系最近的国际新闻
  • 网站建设与运营的预算方案淘宝禁止了网站建设类
  • 做网站的顺序编写app的软件
  • 站长联盟个人网站不备案
  • 惠州建设工程交易网站网站服务器失去响应
  • 网站下拉广告iphone app wordpress
  • 网站图片怎样做seo优化如何重新安装wordpress
  • python做网站源码长沙建设网站制作
  • wordpress调用分类的所有子目录龙岩seo公司首荐3火星
  • 聊城市建设工程质量监督站网站wordpress 头部
  • 低价郑州网站建设wordpress是外网吗
  • 互联网门户网站有哪些win10优化大师是官方的吗
  • 深圳品牌做网站公司有哪些公司名称变更网站要重新备案吗
  • 网站网页建设实训心得体会二类电商平台都有哪些
  • 兰州免费网站建设上海城隍庙要门票吗
  • 如何做外贸soho做网站中型网站建设
  • 冠县品牌网站建设推广外贸企业网站管理系统
  • 信息管理的基本原理分析网站建设南阳网站建设制作
  • 网站一直百度上搜不到是怎么回事啊网站建设首保服务
  • 解决网站兼容性问题福州房产网站建设
  • 怀化百度整站优化服务wap网站前景
  • 临沂制作网站企业施工企业汛期工作实施方案
  • 82家合法现货交易所名单永康关键词优化
  • 郑州市建设工程造价信息网站浙江省建设工程质量管理协会网站
  • 乌兰浩特市建设局网站永州微网站建设