最简单的按位 AND,适用于 JavaScript 的最大数量
由于内部原因,JavaScript 的最大整数值为 2^53(它是一个双浮点数)。如果您需要更多,则有用于大整数处理的好库。
2^53 是 9,007,199,254,740,992,或约 9,000 万亿(约 9 万亿)。
// Works with values up to 2^53
function bitwiseAnd_53bit(value1, value2) {
const maxInt32Bits = 4294967296; // 2^32
const value1_highBits = value1 / maxInt32Bits;
const value1_lowBits = value1 % maxInt32Bits;
const value2_highBits = value2 / maxInt32Bits;
const value2_lowBits = value2 % maxInt32Bits;
return (value1_highBits & value2_highBits) * maxInt32Bits + (value1_lowBits & value2_lowBits)
}