-4
Почему эта функция: выходC++ функция соиЬ печати неправильное значение
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;
}
Print:
- : Размер: 00010000 20
- : 0000000000000000000000000000000010110000110000011111001011111001
Почему бы и нет? Что вы ожидали, чтобы он печатался, и что вы в него входите? –
вы можете увидеть там http://ideone.com/zkqMPO – AgentIvan
int size = sizeof (a1); cout << endl << "size:" < (size) .to_string() << "" << size; размер = размер * 4; cout << "" << "size:" < (size) .to_string() << "" << size; Печать: размер: 00001000 8 размер: 00100000 20 –
AgentIvan