I was searching around a little trying to find an answer to this, but I couldn't find a clear cut answer.
I saw this answer where he wrote as a side note:
The rules are different for unsigned types; the result of converting a signed or unsigned integer to an unsigned type is well defined.
So what is the well defined behavior?
When converting from unsigned long long
to unsigned int
is there a defined behavior? Is it just cutting off the 32 MSB's? (leaving me with the 32 LSB's).
Lets assume that sizeof(unsigned int)
is 4
and sizeof(unsigned long long)
is 8
in my system.
Is there a different behavior when assigning without casting and when assigning with casting?