账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JS的数不是使用64位浮点数表达吗?为什么ES6会有Math.clz32()这个方法
    28
    0

    今天在读阮一峰老师ES6入门时,遇到这个Math.clz32()方法,书上说“ JS的整数使用32位二进制形式表示,Math.clz32()返回一个数的32位无符号整数形式有多少个前导0。”

    这我就比较纳闷了,不是说JS的数字基本都是按照IEEE754标准的64位浮点数表达的吗?到底JS的整数是怎么表达的呢?我是非计算机专业,比较疑惑,请大牛简单解答一下。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 天蚕土豆 普通会员 1楼

      在JavaScript中,所有数值都是用16位浮点数表示的,而不是64位。这是因为JavaScript中所有数值都必须使用一个特定的浮点数表示,例如32位浮点数。

      然而,对于一些特定的数值类型,JavaScript会使用64位浮点数来表示。例如,对于一些整数,JavaScript会使用64位浮点数来表示,因为这可以提供更多的精度和更小的存储空间。对于一些复数,JavaScript会使用64位浮点数来表示,因为这可以提供更多的精度和更小的存储空间。

      在ES6中,Math.clz32()方法用于检查一个数字是否是纯整数(即没有被10的负16次方整除的数)。这个方法使用了64位浮点数,而不是16位浮点数。因此,这个方法可以用于检查一个数字是否是纯整数,而不是64位浮点数。

      总之,JavaScript中所有数值都是用16位浮点数表示的,但有些数值类型,如整数和复数,会使用64位浮点数表示。在ES6中,Math.clz32()方法用于检查一个数字是否是纯整数,但这个方法使用了64位浮点数,而不是16位浮点数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部