我需要在
JavaScript中执行64位整数的循环左移.然而:
> JavaScript数字是双打的
>当您以<<开头时,JavaScript会将它们转换为32位有符号的整数和>>和>>>和〜以及所有令人讨厌的业务.然后,当你完成时,它又回到了双打.我认为.
>我不想要这个标志.而且我绝对不希望小数位.但我绝对想要64位.
那么,如何执行64位值的按位左旋转?
解决方法
将64位数字保持为单独的高低两半.当N
>>(32-N)))& (0xFFFFFFFF的)
lo_rot =((lo << N)|(hi>>>(32-N)))& (0xFFFFFFFF的)
如果N> = 32,则从N中减去32,交换hi和lo,然后执行上述操作.