gpt4 book ai didi

javascript - 使用这个按位运算符序列时会发生什么

转载 作者:行者123 更新时间:2023-11-30 16:40:14 25 4
gpt4 key购买 nike

我在 javascript 中遇到了这个函数

function(x) {
return (x >> 8 << 8) ^ x;
};

它用于将 x 转换为字节表示。我了解按位运算的作用,但我不了解会发生什么,因为 (122 >> 8 << 8) 打印出 0。

最佳答案

x >> 8

此右移 x 8 次,有效清除最低有效 8 位。

(x >> 8) << 8

这会将上述数量左移 8 位。因此,我们得到 x,其中最低有效 8 位设置为 0。如果x(16位数字)最初是0b0001000101010101,它首先变成0b0000000000010001,最后变成0b0001000100000000。

(x >> 8 << 8) ^ x

这会将上述数字与 x 异或,保留最低有效 8 位不变,并将其余所有清零。因此,获得了最低有效字节。它也适用于您的情况,因为 122 小于 2^8。 122 与 0 的异或运算返回最低有效字节 - 122 本身。

关于javascript - 使用这个按位运算符序列时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com