A variable shifted right seems to result in an incorrect value.
uint64_t i = 13,825,587,238; i = i >> 7u;
The situation is observed when 13,825,587,238 is right shifted 7. The correct value is 10,473,877,732 but debug window has 12,992,914,288.
http://youtu.be/szgss6lDotU
Would this be a syntax error?
you should specify that your constants are long long
This is true such as 8LL or 8ULL. However, it does not change the shift result. The shift output is incorrect.
Isn't a right shift by 7 the same as dividing by 2 to the power of 7 (so 128)?
Shouldn't the correct answer be 108,012,400?
Ah. I see. Your original post was all wrong (face-palm).
The debugger has presented the result of the original high 32 bits concatenated with post-shift low 32 bits.