0 unsigned needed?

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);
}
Topic archived. No new replies allowed.