欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端提高篇(四)JS进阶3数字和二进制

程序员文章站 2024-01-04 20:36:58
...

int类型

最大安全整数与最小安全整数

注意安全范围,当不在安全大小范围内时,精度不能保证(2^53)
前端提高篇(四)JS进阶3数字和二进制

float型

0.1 + 0.2 != 0.3

数据以二进制存储,当小数转化为二进制时,精度会有些丢失,出现无限循环的情况,二进制位数越多,才越接近这个小数,但不能等于这个小数
前端提高篇(四)JS进阶3数字和二进制

0.1 + 0.3 = 0.4

有的小数和其他小数的无限循环互补,结果是和我们平常计算的结果是吻合的,抵消了无限循环带来的精度丢失的问题
前端提高篇(四)JS进阶3数字和二进制

确定小数计算的精度

换算单位,将小数转成整数

整数只要在安全范围内,不会有精度丢失的问题
如:100.01元,转为10001分

指定小数位数

科学计数法

1e+3 -----> 1000
1e-3 ------> 0.001

Infinity无穷大,计算机已无法显示

前端提高篇(四)JS进阶3数字和二进制

NaN非数值

前端提高篇(四)JS进阶3数字和二进制

前端提高篇(四)JS进阶3数字和二进制
前端提高篇(四)JS进阶3数字和二进制

进制

        // 二进制 
        var x = 0b1010;
        //八进制
        var x = 012;
        //十六进制
        var x = 0x00A;

八进制的数字不能出现大于等于8的数,否则就会被认为是十进制
前端提高篇(四)JS进阶3数字和二进制

64位存储

1位(正负位) + 10位(指数位,科学计数法)+ 53位(整数)
1字节Byte = 8位Bit

思考

用代码写出进制之间的转换

上一篇:

下一篇: