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

网站开发适配展示类网站

网站开发适配,展示类网站,c2c是指什么,建设河南网站在 js 中进行数学的运算时#xff0c;会出现0.10.20.300000000000000004的结果#xff0c;一开始认为是浮点数的二进制存储导致的精度问题#xff0c;但这似乎不能很好的解释为什么在同样的存储方式下0.30.40.7可以得到正确的结果。本文主要通过浮点数的二进制存储及运算会出现0.10.20.300000000000000004的结果一开始认为是浮点数的二进制存储导致的精度问题但这似乎不能很好的解释为什么在同样的存储方式下0.30.40.7可以得到正确的结果。本文主要通过浮点数的二进制存储及运算和IEEE754下的舍入规则解释为何会出现这种情况。一、浮点数的二进制存储JavaScript遵循IEEE754标准在64位中存储一个数据的有效数字形式。其中第0位为符号位0表示正数1表示负数第1到11位存储指数部分第12到63位存小数部分(尾数部分)(即有效数字)。由于二进制的有效数字总是表示为 1.xxx…的形式尾数部分在规约形式下的第一位默认为1故存储时第一位省略不写尾数部分f存储有效数字小数点后的xxx...最长52位。因此JavaScript提供的有效数字最长为53个二进制位(尾数部分52位被省略的1位)。以0.1、0.2、0.3、0.4和0.7的二进制形式为例0.1-0.0001100110011...(0011无限循环)-0-01111111011-(1 .)1001100110011001100110011001100110011001100110011010(入)0.2-0.001100110011...(0011无限循环)-0-01111111100-(1 .)1001100110011001100110011001100110011001100110011010(入)0.3-0.01001100110011...(0011无限循环)-0-01111111101-(1 .)0011001100110011001100110011001100110011001100110011(舍)0.4-0.01100110011...(0011无限循环)-0-01111111101-(1 .)1001100110011001100110011001100110011001100110011010(入)0.7-0.101100110011...(0011无限循环)-0-01111111110-(1 .)0110011001100110011001100110011001100110011001100110(舍)对于52位之后进行舍入运算此时可看作0舍1入(具体舍入规则在第三部分详细说明)有精度损失。二、对阶运算由于指数位数不同运算时需要进行对阶运算。对阶过程略0.10.2与0.30.4的尾数求和结果分别如下0.10.2-10.01100110011001100110011001100110011001100110011001110.30.4-10.1100110011001100110011001100110011001100110011001101求和结果需规格化(有效数字表示)右规导致低位丢失此时需对丢失的低位进行舍入操作0.10.2-1.00110011001100110011001100110011001100110011001100111-1.0011001100110011001100110011001100110011001100110100(入)0.30.4-1.01100110011001100110011001100110011001100110011001101-1.0110011001100110011001100110011001100110011001100110(舍)即00111-010001101-0110此处同样有精度损失。在这里我们可以发现0.30.4对阶阶运算且规格化后的运算结果与0.7在二进制中的存储尾数相同(可对照尾数后几位)而0.10.2的运算结果与0.3的存储尾数不同且0.10.2转化为十进制时结果为0.300000000000000004。此时虽然0.10.2与0.30.4进行舍入操作的近似位都为1但一入一舍导致计算结果与“标准答案”的异同。三、IEEE754标准下的舍入规则维基百科对最近偶数舍入原则的解释如下舍入到最接近在一样接近的情况下偶数优先(Ties To Even这是默认的舍入方式)即会将结果舍入为最接近(精度损失最小)且可以表示的值但是当存在两个数一样接近的时候则取其中的偶数(在二进制中是以0结尾的)。首先要注意的是保留小数不是只看后面一位或者两位而是看保留位后面的所有位。如图可以看到近似需要看三位保留位(近似后的最低位)、近似位(保留位的后一位)、粘滞位(sticky bit 近似位后的所有位进行或运算后看作一位)。当粘滞位为1时舍入规则可以看作0舍1入近似位为0舍近似位为1入(即第一部分小数二进制存储为52位尾数时所进行的舍入操作)。当粘滞位为0时若近似位为0则舍去。当粘滞位为0时若近似位为1无论舍入精度损失都相同故需取舍入两种结果中的偶数保留位为1时入保留位为0时舍(即第二部分对阶运算规格化时的舍入操作)。四、总结思考由于IEEE754标准这样的“bug”不止在JavaScript中会出现在所有采用该标准的语言中都会存在实际编程中可以通过设置精度保留位数等方式解决。想了解跟多的基础理念指南1、关注我转发评论2、私信发送【电子书】即可领取
http://www.pierceye.com/news/484066/

相关文章:

  • 云南昆明网站建设公司jsp网站开发详解下载
  • 上海h5网站开发网站建设在开封找谁做
  • 滨海建设局官方网站营销网络平台
  • 中国小康建设网是骗子网站吗?建设宁波市分行的互联网网站
  • 制造网站建设自己做游戏资讯网站
  • 网站建设质量如何衡量都江堰网站开发
  • 企业网站设计步骤中山制作网站的公司
  • 通化网站制作企信网官网查询入口
  • 无锡装修网站百科网站推广
  • 先做网站后付款怎么做网站弹窗通知
  • php做网站的分站学校网站开发价格
  • 静态动漫网站模板个人网站空间大小
  • 个人网站 如何做推广拓者设计吧官方网站
  • 农产品电子商务网站建设要求开发一款app软件需要多少钱
  • 仿微博网站模板织梦网站地图怎么做xml
  • 什么网站能买建设摩托车产品推广计划方案
  • 建设局网站买卖合同大连 商城网站制作公司
  • 网站开发实训意义湖州网站设计
  • 网站后台设置企业为什么要网站建设
  • 外贸网站推广平台有哪些怎么在亚马逊上开店铺
  • 网站模板下载简单的那种哪个网站可以做结婚请柬
  • 自建网站迁移wordpress 电影下载站
  • 深圳定制网站建设服务公司友情连接
  • 网络设计工资多少杭州seo网站排名优化
  • 免费空间申请网站网站开发技术联系方式
  • 增加访客的网站做网站 套用模板之后用什么改
  • 徐州企业网站排名优化建网站用什么浏览器
  • 大型网站频道的建设需多人协同开发网站建设产品中心
  • 学校网站建设状况好的建设网站
  • 庐江住房建设局网站做外汇关注的网站