duyue6002 / Blog

:pencil2: Write here
http://duyue6002.github.io/Blog/#/
5 stars 1 forks source link

[总结] JS里的数 #25

Open duyue6002 opened 5 years ago

duyue6002 commented 5 years ago

数值范围

JS 中都是浮点数,Number类型,64位,8字节。 做精确计算时,范围是 [-2^53, 2^53]。 做位运算时,只处理32位整型。

duyue6002 commented 5 years ago

负数的二进制表示

原码:一个数的绝对值转换成的二进制数,存在+0/-0. 反码:原码按位取反,存在+0/-0. 补码:反码+1,不存在+0/-0.

负数的二进制就是其绝对值的补码。补码的存在,使加法变得简单。

duyue6002 commented 5 years ago

位运算的边界值验证

正数:1,0x7fffffff 负数:0x80000000, 0xffffffff( -1)