用64位整数中的JavaScript中的位置XOR
我正在寻找一种在JavaScript中64位整数上执行XOR的方法。
JavaScript将将其所有双重值投入到签名的32位整数中,以执行位置操作。
function and(v1, v2) {
var hi = 0x80000000;
var low = 0x7fffffff;
var hi1 = ~~(v1 / hi);
var hi2 = ~~(v2 / hi);
var low1 = v1 & low;
var low2 = v2 & low;
var h = hi1 & hi2;
var l = low1 & low2;
return h*hi + l;
}
对于Xor func来说,这是我做过的转换,但无法正常工作,任何帮助修改的帮助都会对我有所帮助。
function XOR(v1, v2) {
var hi = 0x80000000;
var low = 0x7fffffff;
var hi1 = ~~(v1 / hi);
var hi2 = ~~(v2 / hi);
var low1 = v1 ^ low;
var low2 = v2 ^ low;
var h = hi1 ^ hi2;
var l = low1 ^ low2;
return h * hi - l;
}
任何帮助都将受到赞赏。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
线路上犯了一个错误
您在应该的 ,并且&要恢复数字的下部,然后在两侧执行 ^ XOR运算符
,最后一行应在示例中与&运营商总和:
上面的完整代码:
You have a mistakes in the lines
where it should be and & to recover the lower part of the number, and later perform the ^ xor operator in both sides
and the last line should be at the example with & operator a sum:
Complete code above: