In the below function, it uses the syntax 0U. Now I am wondering why it is using the U to indicate unsigned integer. Wouldn't this function return the same value even without the U?
1 2 3 4
unsigned invert(unsigned x, int p, int n)
{
return x ^ (~(~0U << n) << p);
}