gpt4 book ai didi

javascript - 我的数组索引是否被移到了右边或左边的正确位置?

转载 作者:行者123 更新时间:2023-11-30 17:23:37 24 4
gpt4 key购买 nike

这段代码是否做了我认为它应该做的事情。这是否将索引 i 向右移动了一个位置。

       0011 would be come 0001 <-- because the sign bit is copied to the new position. I know that it is different than >>> which moves zeroes in the closest position.

binarray[i>>2]

代码在这里:

       str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);

我整天都在看这个,但我再也看不到了!!!

更多代码:

    lX8 = (lX & 0x80000000);

如果我看到类似上面的内容,这意味着 & 正在比较两个数字或变量中的每一位,在本例中为 0x8000000,在本例中,二进制格式的 0x8000000 的实际值是多少。

     lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);

这个代码 ass 将这些位加在一起但是是 0x3FFFFFFF(这个值转换成二进制是什么?)

     h1 = bits >> 18 & 0x3f;

从上面可以看出,位向右移动了 18 和 0x3f,其中 0x3f 是十六进制,所以我认为 18 是十进制。

问题:这个都是转成二进制然后先用吗?

最佳答案

差不多。它实际上将它向右移动了两个位置,而不是一个。

'>>'右边的数字指定要移动多少位。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#%3E%3E_%28Sign-propagating_right_shift%29

关于javascript - 我的数组索引是否被移到了右边或左边的正确位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24689181/

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