热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JS双精度64位Number

typeof范例:undefinedobjectnumberstring:utf-16两个字节为一个unitebooleanfunctionnumber范例:双精度64位能够示意2

typeof范例:

"undefined"
"object"
"number"
"string":utf-16两个字节为一个unite
"boolean"
"function"

number范例: 双精度64位
能够示意2^64-2^53+3个数

1)正无限
负无限
2)0,-0
3)正数
4)NaN

双精度64位


63 62…….52 51 20 ……0
1 11111111 1111…1111
1位标记位sign + 11位指数位e + 52位小数位f S*E*F
S=(-1)^sign……(-1)^0或(-1)^1 1)正负无限:11指数位全为1,52位是0
2)NaN: 11指数位全为1,52位不全为0 1)+2)=3(被1位标记位 52位f位掌握,E位稳定,应该有2^53种,然则差别的nan)
统共=2^64-2^53+3 3)0,-0: 11指数位全为0,52位全为0 4)11指数位全为0,f不全为0:denormal
示意0~1之间的数,不包括1,不包括0
E=2^(-1022);
F=0.52位二进制
=0+b(52-1)*2^(-1)+…b(0-52) *2^-52
=0+1/2+1/4+1/8+…+1/2^52(f全为1的例子);
0~1之间很小的间距,指数E与normal状况下最小E一致,2^(1-1023)=2^-1022
每两个小数之间的差最小为=比方f位只要一个1与f位为0(非denormal值)的差
=1*2^-1022*(0+2^-52) - 1*2^-1022 * (0+0)
=2^-1074
denormal最小值=1*2^-1022*(0+2^-52)=2^-1074 5)11指数位有0有1:normal
示意>=1的数
E=2^(e-1023);
e=b(52+0) * 2^0+b(52+1) *2^1+…+b(52+7)*2^10

F=1.52位二进制
=1+b(52-1)*2^(-1)+…b(0-52) *2^-52
=1+1/2+1/4+1/8+…+1/2^52(f全为1的例子);

normal最小值=1*2^(1-1023)*(1+0)=2^-1022;

单精度32位(如果JS用单精度32位示意number,状况以下)

31 30…….23 22 21 ……0
1 11111111 1111…1111
1位标记位sign+8位指数位e+23位小数位f S*E*F
S=(-1)^sign……(-1)^0或(-1)^1 1)正负无限:8指数位全为1,23位是0
2)NaN: 8指数位全为1,23位不全为0 1)+2)=3(被1位标记位 23位f位掌握,E位稳定,应该有2^24种,然则差别的nan)
统共=2^32-2^24+3 3)0,-0: 8指数位全为0,23位全为0 4)8指数位全为0,f不全为0:denormal
示意0~1之间的数,不包括1,不包括0
E=2^(-126);
F=0.23位二进制
=0+b(23-1)*2^(-1)+…b(0-23) *2^-23
=0+1/2+1/4+1/8+…+1/2^23(f全为1的例子);
0~1之间很小的间距,指数E与normal状况下最小E一致,2^(1-127)=2^-126
每两个小数之间的差最小为=比方f位只要一个1与f位为0(非denormal值)的差
=1*2^-126*(0+2^-23) - 1*2^-126 * (0+0)
=2^-149
denormal最小值=1*2^-126*(0+2^-23)=2^-149 5)8指数位有0有1:normal
示意>=1的数
E=2^(e-127);
e=b(23+0) * 2^0+b(23+1) *2^1+…+b(23+7)*2^7

F=1.23位二进制
=1+b(23-1)*2^(-1)+…b(0-23) *2^-23
=1+1/2+1/4+1/8+…+1/2^23(f全为1的例子);

normal最小值=1*2^(1-127)*(1+0)=2^-126;

推荐阅读
author-avatar
陈宥治政和瑋男
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有