【发布时间】:2016-05-13 17:27:25
【问题描述】:
为什么要使用这个函数:
uint64_t rot_xor(uint64_t a1, uint64_t a2) {
int size = sizeof(a1)*4;
cout<<" "<<"size:"<<bitset<8>(size).to_string()<<" "<<size;
int shift;
uint64_t output = 0;
cout<<endl;
for (shift = 0; shift < size; shift++)
if(a1&(1<<shift)) {
output ^= (a2 << shift) | (a2 >> (size - shift));
cout << bitset<64>(output).to_string()<<endl;
}
return output;
}
打印输出:
- :大小:00010000 20
- : 0000000000000000000000000000000010110000110000011111001011111001
【问题讨论】:
-
为什么不呢?你期望它打印什么,你传递给它什么?
-
你可以在那里看到ideone.com/zkqMPO
-
int size = sizeof(a1); cout(size).to_string()(size).to_string()
-
@AgentIvan:请查看您之前的评论。代码可读吗?请用代码编辑您的问题/帖子,使其更具可读性。
-
你希望这个函数做什么?预期的行为是什么?