sách gpt4 ai đã đi

`Math.trunc` so với `|0` so với `<<0` so với `>>0` so với `&-1` so với `^0`

In lại 作者:行者123 更新时间:2023-12-04 00:43:21 31 4
mua khóa gpt4 Nike

我刚刚发现在 ES6 中有一个新的数学方法:Math.trunc .

我在 MDN article 中阅读了它的描述。 , 听起来像使用 |0 .

此外,<<0 , >>0 , &-1 , ^0也做类似的事情(感谢@kojiro 和@Bergi)。

经过一些测试,似乎唯一的区别是:

  • Math.trunctrở lại -0区间中的数字 (-1,-0] .位运算符返回 0 .
  • Math.trunctrở lại NaN与非数字。位运算符返回 0 .

  • 是否有更多差异(在所有差异中)?
    n | Math.trunc | Bitwise operators
    ----------------------------------------
    42.84 | 42 | 42
    13.37 | 13 | 13
    0.123 | 0 | 0
    0 | 0 | 0
    -0 | -0 | 0
    -0.123 | -0 | 0
    -42.84 | -42 | -42
    NaN | NaN | 0
    "foo" | NaN | 0
    void(0)| NaN | 0

    1 Câu trả lời

    Math.trunc(Math.pow(2,31)) 怎么样与 Math.pow(2,31) | 0
    对有符号的 32 位整数执行按位运算。因此,当您执行 Math.pow(2, 31) 时,您会以“10000000000000000000000000000000”位的形式获得此表示。因为这个数字必须转换为有符号的 32 位形式,所以我们现在在符号位的位置有一个 1。这意味着我们正在查看带符号的 32 位形式的 -eve 数字。然后,当我们对 0 进行按位或运算时,我们会以有符号的 32 位形式得到相同的结果。十进制是-2147483648。

    旁注:在带符号的 32 位形式中,可以用二进制表示的小数范围是 [10000000000000000000000000000000, 0111111111111111111111111111111]。在十进制(以 10 为底)中,此范围为 [-2147483648, 2147483647]。

    关于javascript - `Math.trunc` vs `|0` vs `<<0` vs `>>0` vs `&-1` vs `^0`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156688/

    31 4 0
    Bài viết được đề xuất: WPF 在 Windows XP 和 Windows 7 上的呈现方式不同
    Bài viết được đề xuất: eclipse - 在 Eclipse 中调试一些 PhpUnit 测试
    Bài viết được đề xuất: wcf - 更新服务引用不起作用
    Bài viết được đề xuất: scheme - 如何在 Scheme 中重写 "begin"?
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com