0x7FFFFFFF 是long int的最大值

可以算一下 0x7FFFFFFF 是多少
每个十六进制数4bit,因此8位16进制是4个字节,刚好是一个int整型


F的二进制码为 1111
7的二进制码为 0111


这样一来,整个整数 0x7FFFFFFF 的二进制表示就是除了首位是 0,其余都是1
就是说,这是最大的整型数 int(因为第一位是符号位,0 表示他是正数)


用 INT_MAX 常量可以替代这个值。




~0取反:表示最小值。

~0u表示无符号整形0

~0 >> 1 :表示最大值


搜索百度百科:进制转换。

你可能感兴趣的:(unix/linux,C)