Javascript x模289的位等价性

Javascript x模289的位等价性,javascript,lookup,bitwise-operators,modulus,Javascript,Lookup,Bitwise Operators,Modulus,我的尝试是通过查找xmod 289 我的代码是这样的:lookupArray[x%289]并且x总是在0到288之间,所以我不必担心负数 所以基本上我有一个大小为288的查找数组,所以若x超过288,它将从0开始。如果数字289没有按位等效,我可以增加数组大小并重复一些查找数字,但是对于更大的数字。那会是多少呢 如果我的查找表的大小较小,例如240,那么我可以使用255,但对于我的情况来说,这太小了 谢谢 据我所知,mod操作不一定精确 关于按位优化,在按位算术中只能“轻松地”实现二的模幂。一般

我的尝试是通过查找
xmod 289

我的代码是这样的:
lookupArray[x%289]
并且x总是在0到288之间,所以我不必担心负数

所以基本上我有一个大小为288的查找数组,所以若x超过288,它将从0开始。如果数字289没有按位等效,我可以增加数组大小并重复一些查找数字,但是对于更大的数字。那会是多少呢

如果我的查找表的大小较小,例如240,那么我可以使用255,但对于我的情况来说,这太小了


谢谢

据我所知,mod操作不一定精确

关于按位优化,在按位算术中只能“轻松地”实现二的模幂。一般来说,只有基数b的模幂可以“容易地”用基数b表示数字


对于我自己的问题,如果没有更好的答案,我将使用一个答案

基本上,我可以用二减一的任意幂来代替模,或者用其他术语来代替模

x & (2^n - 1)

然后,我可以使用数字511进行逐位运算,但当然,我必须增加数组的大小。但是,随着性能的提高,这绝对是值得的。

如果阵列的大小为288,则模数也必须为288。请记住,大小为n的数组的索引是从0到n-1(在您的例子中为0–287)。此外,是什么让您认为模运算是您的瓶颈?你量过尺寸了吗?我想我指的是长度而不是尺寸。我的申请有很大的不同,我已经测量过了。你能描述一下“只有二的模幂可以”很容易地“在位算术中”是什么意思吗。因为我对一个大于289的数字持开放态度。从上面提供的答案中我也能理解:这意味着如果你想在mod操作中使用的数字等于2的幂。意思是如果你的数字是x,那么x=2^(1,2,3,…等)。如果您的数字是这种形式,这意味着它可以很容易地与mod操作按位使用。