和其他编程语言(如 C 和 Java)不同,JavaScript 不区分整数值和浮点数值,

所有数字在 JavaScript 中均用浮点数值表示,遵循IEEE754标准,在进行数字运算的时候要特别注意。

即:在js中的数字都是64位的浮点数。浮点数不是精确的值。涉及到小数的计算需要特别注意。

IEEE 754

64位浮点数在js中的存储形式如下:

用数学形式(二进制的科学计数法)表示如下:

示例:

由上可知,可以存储的数据的小数点为52位,整个数据的有效数字长度为53位。即精度只有53个二进制位。

1. 整数

1)精度

2^(-53)~2^53之间的整数数字都可以精确表示。否则,存储的数据会失去精度。

简单来说,15位的十进制整数都可以精确表示。

2)数值范围

由存储形式可知,存储的数值大小主要有指数(Exp)决定。

数值范围2^(-1023)~2^(1024) 开区间

2. 小数

小数存储的时候需要特别注意,因为当小数转为二进制的时候,容易丢失精度。

最新文章

  1. ios iphone6 Plus 的适配问题
  2. winform学习-----理解小概念-20160517
  3. Sqoop2环境搭建
  4. Hibernate笔记——缓存机制详细分析
  5. 文件I/O(不带缓冲)之文件共享
  6. cocos2dx进阶学习之场景切换
  7. sql数据黑马程序员——SQL入门
  8. Android - DrawerLayout
  9. 面试题----寻找比一个N位数大的“下”一个数
  10. oracle伪列
  11. java自动拆装箱(转载)
  12. layui_表格数据查询按钮
  13. 动态规划面试题基础合集1--数学三角形,LIS , LCS, CSD
  14. JVM中类的卸载机制
  15. Windows 下安装 Python3
  16. bzoj 3730 震波——动态点分治+树状数组
  17. Linux上编译hadoop-2.7.1的libhdfs.so和libhdfs.a
  18. POJ3690 Constellations
  19. Java项目中使用Log4J
  20. 详解java中的TreeSet集合

热门文章

  1. 2019php面试大全
  2. ASP.NET Core分布式项目-1.IdentityServer4登录中心
  3. Destination高级特性
  4. hdu 6216 A Cubic number and A Cubic Number
  5. (七)lucene之中文检索和高亮显示以及摘要
  6. (十)mybatis之缓存
  7. php 环境搭建问题
  8. JDK1.8新特性(一) ----Lambda表达式、Stream API、函数式接口、方法引用
  9. 【js监听报错】页面监听js报错问题
  10. CentOS 7安装Hadoop集群