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

可以做动漫的网站门户网站营销怎么做

可以做动漫的网站,门户网站营销怎么做,中小学生教育网站建设方案,怎样在百度上做广告为什么js小数相加,会产生精度缺失的问题,怎么解决? 在 JavaScript 中,小数相加会产生精度缺失问题,主要是由 JavaScript 采用的 IEEE 754 双精度 64 位浮点数表示法所导致的,下面详细解释其中的原因&#…

为什么js小数相加,会产生精度缺失的问题,怎么解决?

在 JavaScript 中,小数相加会产生精度缺失问题,主要是由 JavaScript 采用的 IEEE 754 双精度 64 位浮点数表示法所导致的,下面详细解释其中的原因:

1. IEEE 754 双精度 64 位浮点数表示法

JavaScript 中的所有数字,包括整数和小数,都采用 IEEE 754 双精度 64 位浮点数(double-precision 64-bit floating-point format)来表示。这 64 位的结构如下:

  • 符号位(Sign):1 位,用于表示数字的正负,0 表示正数,1 表示负数。
  • 指数位(Exponent):11 位,用于表示数字的指数部分。
  • 尾数位(Mantissa):52 位,用于表示数字的有效数字部分。

2. 十进制小数转换为二进制小数

在计算机中,要将十进制小数转换为二进制小数,通常采用“乘 2 取整”的方法。但并不是所有的十进制小数都能精确地转换为二进制小数。

例如,将十进制小数 0.1 转换为二进制小数:

0.1 * 2 = 0.2  整数部分为 0
0.2 * 2 = 0.4  整数部分为 0
0.4 * 2 = 0.8  整数部分为 0
0.8 * 2 = 1.6  整数部分为 1
0.6 * 2 = 1.2  整数部分为 1
0.2 * 2 = 0.4  整数部分为 0
...

可以发现,0.1 转换为二进制小数是一个无限循环小数 0.0001100110011...。由于 IEEE 754 标准中尾数位只有 52 位,所以只能对这个无限循环小数进行截断,从而导致精度丢失。

3. 精度缺失的示例

以下是一个简单的 JavaScript 代码示例,展示了小数相加时的精度缺失问题:

const num1 = 0.1;
const num2 = 0.2;
const result = num1 + num2;
console.log(result); // 输出: 0.30000000000000004

4. 解决方法

为了避免小数相加时的精度缺失问题,可以采用以下几种方法:

  • 使用整数进行计算:将小数转换为整数进行计算,最后再将结果转换回小数。
const num1 = 0.1;
const num2 = 0.2;
const factor = 10;
const result = (num1 * factor + num2 * factor) / factor;
console.log(result); // 输出: 0.3
  • 使用第三方库:例如 decimal.js,它提供了任意精度的十进制算术运算。
const Decimal = require('decimal.js');
const num1 = new Decimal('0.1');
const num2 = new Decimal('0.2');
const result = num1.plus(num2);
console.log(result.toString()); // 输出: 0.3

综上所述,JavaScript 小数相加产生精度缺失问题的根源在于 IEEE 754 双精度浮点数表示法无法精确表示所有的十进制小数。


文章转载自:

http://woGWZSuw.bwrtp.cn
http://a0V9aaBP.bwrtp.cn
http://q2UDn6Lr.bwrtp.cn
http://xNrZLYdW.bwrtp.cn
http://fMnmWegd.bwrtp.cn
http://Rd6KxsqS.bwrtp.cn
http://Bdr3tdKT.bwrtp.cn
http://rxtyDOFx.bwrtp.cn
http://Oq7lHPWy.bwrtp.cn
http://qlFPalGx.bwrtp.cn
http://xRT1grrc.bwrtp.cn
http://lTrcoKDn.bwrtp.cn
http://Yhwpy1X9.bwrtp.cn
http://CAw5EwRm.bwrtp.cn
http://W8BMsLiu.bwrtp.cn
http://HVL0Lncm.bwrtp.cn
http://CUIHpzJ1.bwrtp.cn
http://JXOIRtSs.bwrtp.cn
http://MH8CaZOR.bwrtp.cn
http://4x8MxXJT.bwrtp.cn
http://1EJFRNOu.bwrtp.cn
http://96n6b7Gy.bwrtp.cn
http://MVRj5Trr.bwrtp.cn
http://VLR67Ll4.bwrtp.cn
http://hTu91fep.bwrtp.cn
http://qGolpcoB.bwrtp.cn
http://R0TIa9B0.bwrtp.cn
http://9T6GiVgF.bwrtp.cn
http://bA6E5OWq.bwrtp.cn
http://X2l4HXx5.bwrtp.cn
http://www.dtcms.com/wzjs/606950.html

相关文章:

  • 北京企业网站开发公司哪家好公司品牌宣传
  • 免费手机个人网站茶叶企业建设网站
  • 网站关键词优化公司黄骅市天气预报
  • 什么网站做英语翻译练习网站建立基本流程
  • 检测一个网站用什么软件做的方法汕头企业建站系统
  • 网站制作软件 aws崇明建设镇网站
  • 除了速卖通还有什么网站做外贸重庆公共交通最新消息
  • 综合网站系统怎么装字体到wordpress
  • 设计品牌网站大公司网页设计用什么软件好
  • 长兴住房和城乡建设局网站帮别人做网站多少钱合适
  • 深圳做生鲜食材的网站叫什么网站建设和邮箱的关联
  • 网站seo外链给别人做ppt的网站
  • 公司网站页面加密开网店的基础知识
  • 个人音乐网站建设免费网站怎么建立
  • 贵阳监理建设网站汶上网站建设公司
  • 淮南做网站的公司商业计划的网站建设费用
  • html 旅游网站重庆网站开发公司
  • 网站 数据库 关系城乡建设官网
  • 广东省建设教育协会官方网站苏州市优化网站推广哪家好
  • 自己做网站的网址定制微信网站
  • 亚马逊网站运营怎么做重庆市工程招标信息网
  • 怎样做士产品销售网站衡阳seo优化公司
  • 二手交易平台广州seo公司排名
  • 微信公众号做微网站网站建设学什么
  • 天津市武清区住房建设网站做网站会用到的色彩代码单词
  • 怎么免费做网站网站做软件有哪些
  • win7 网站建设网站名称在哪里修改
  • 网站内部链接怎麽做水果店营销策略都有哪些
  • 网站开发建立站点wordpress无法设置
  • 红酒手机网站建设学网站开发推荐书