gpt4 book ai didi

javascript - 如何在 JavaScript 中模拟 64 位(无符号)整数的按位旋转?

转载 作者:数据小太阳 更新时间:2023-10-29 04:27:24 25 4
gpt4 key购买 nike

我需要在 JavaScript 中执行 64 位整数的循环左移。然而:

  • JavaScript 数字是双数
  • 当您从 << 和 >> 和 >>> 以及 ~ 和所有的位操作开始时,JavaScript 将它们转换为 32 位有符号整数。然后当你完成时它又回到 double 。我想。
  • 我不想要这个标志。而且我绝对不想要小数位。但我确实想要 64 位。

那么,如何执行 64 位值的按位左旋?

最佳答案

将您的 64 位数字保留为单独的高分区和低分区。当 N < 32 时向左旋转 N:

hi_rot = ((hi << N) | (lo >>> (32-N))) & (0xFFFFFFFF)

lo_rot = ((lo << N) | (hi >>> (32-N))) & (0xFFFFFFFF)

如果N >= 32,则N减32,调换hi和lo,再进行上述操作。

关于javascript - 如何在 JavaScript 中模拟 64 位(无符号)整数的按位旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1768005/

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