Let us assume our int is of 3 bits then

value of binary 110 in unsigned int will be 6.( which is > 0)

value of binary 110 in signed int (or int ) will be -2. (In C int is represented in 2's compliment representation)

One more thing -->

As you can see, `(unsigned)0 - (unsigned)1`

equals -1 modulo UINT_MAX+1, or in other words, UINT_MAX.

Refer -> https://stackoverflow.com/questions/7221409/is-unsigned-integer-subtraction-defined-behavior.