1L的问题?
这段话没有问题。
1U提升后是1L,因此-1L<1L
对于signed类型来说,其最高位是表示正负号的,如果最高位为1,则数字为负数,且其绝对值为后面所有位的补码+1;
而对于unsigned类型来说,其最高位也是数字的一部分,因此当最高位为1时,其值是一个很大的正数。对于-1L来说,提升为UL后值为0的补码,即2^32-1UL,因此大于1UL