64位数如何XOR高32位,低32位。 谢谢XOR高32位,低32位,64位数
4
A
回答
9
(v & 0xffffffff)^((v >> 32) & 0xffffffff)
1
只是踢,这是另一种解决方案。已经给出的可能是要走的路。
uint32_t* number32;
uint64_t number64 = 0xffff1111ffffffff;
uint32_t xorValue;
number32 = (uint32_t*)&number64;
xorValue = number32[0]^number32[1];
+0
看起来像如果你使用别名假设,你的编译器不会那样。 – 2011-06-16 11:53:39
0
uint32_t hi_low_xor(uint64_t x) {
return static_cast<uint32_t>(x)^static_cast<uint32_t>(x >> 32);
}
+0
错了。结果可能超过32位,这显然是不正确的。 – 2011-06-16 12:48:18
+0
@Artem。这不是真的。一对32位数的XOR总是32位数。 – 2011-06-22 13:11:39
0
,如果你想将结果存储在低32位:
(v & 0xffffffff)^((v >> 32))
,如果你想将结果保存在高32位:
((v & 0xffffffff)^((v >> 32))) << 32
相关问题
- 1. 64位bsr asm截断高位32位
- 2. Xcode&64位&32位问题
- 3. 64位weblogic 32位oracle DB
- 4. 64位的32位除法
- 5. 64位OS/32位进程
- 6. 32位64位兼容
- 7. 从32位变为64位
- 8. SharePoint 64位或32位
- 9. 32位和64位CPU/OS
- 10. 32位OpenFileDialog - > 64位System32?
- 11. SHGetFolderPath()32位与64位
- 12. C# - 在32位和64位
- 13. 64位debian和32位酒
- 14. 32位和64位性能
- 15. 从32位到64位
- 16. 32与64位GC
- 17. SetWindowLong函数/ GetWindowLong和32位/ 64位CPU
- 18. 在Windows 7 64位上使用Java 32位的Eclipse 32位
- 19. 无论系统是32位还是64位,uint均为32位?
- 20. 在32位和64位平台上总是处理32位?
- 21. Windows 7(64位)上的IIS 7和Ms Access 32位32位
- 22. 什么是适合32位和64位“32位”的术语
- 23. OS X钥匙串:32到64位
- 24. 64位/ 32位的低级优点和缺点是什么?
- 25. 在SharePoint 2007上的64位webpart 32位
- 26. Powershell问题 - 32位和64位
- 27. 64位或32位版本的WinDBG?
- 28. 32位和64位dll的windows服务
- 29. 32位Excel宏与64位不兼容
- 30. Windows 64位和32位不兼容性
严格地说第二位掩码是没有必要的。 – 2011-06-16 11:25:15
即使变量被签名? – 2011-06-16 11:25:48
@Ignacio有符号整数的位运算... *不寒而栗*。不,你说得对。 – 2011-06-16 11:28:39