前端提高篇(四)JS进阶3数字和二进制
程序员文章站
2024-01-04 20:36:58
...
int类型
最大安全整数与最小安全整数
注意安全范围,当不在安全大小范围内时,精度不能保证(2^53)
float型
0.1 + 0.2 != 0.3
数据以二进制存储,当小数转化为二进制时,精度会有些丢失,出现无限循环的情况,二进制位数越多,才越接近这个小数,但不能等于这个小数
0.1 + 0.3 = 0.4
有的小数和其他小数的无限循环互补,结果是和我们平常计算的结果是吻合的,抵消了无限循环带来的精度丢失的问题
确定小数计算的精度
换算单位,将小数转成整数
整数只要在安全范围内,不会有精度丢失的问题
如:100.01元,转为10001分
指定小数位数
科学计数法
1e+3 -----> 1000
1e-3 ------> 0.001
Infinity无穷大,计算机已无法显示
NaN非数值
进制
// 二进制
var x = 0b1010;
//八进制
var x = 012;
//十六进制
var x = 0x00A;
八进制的数字不能出现大于等于8的数,否则就会被认为是十进制
64位存储
1位(正负位) + 10位(指数位,科学计数法)+ 53位(整数)
1字节Byte = 8位Bit
思考
用代码写出进制之间的转换
推荐阅读