在计算机中,(1 << 31) 和 0x80000000 都表示一个32位有符号整数的最小值。它们的结果是相同的,都等于 -2147483648。
(1 << 31) 是使用位运算符 << 将二进制数 1 向左移动 31 位得到的结果。在二进制中,1 表示为 00000000000000000000000000000001,将其向左移动 31 位后得到 10000000000000000000000000000000,即 0x80000000。
0x80000000 是一个十六进制数,表示为 10000000000000000000000000000000,即二进制中最高位为 1,其余位为 0。在计算机中,最高位为 1 表示该数为负数,因此 0x80000000 表示的是一个负数,即 -2147483648。
无论是使用 (1 << 31) 还是 0x80000000,它们的结果都是相同的,都表示一个32位有符号整数的最小值 -2147483648。
领取专属 10元无门槛券
手把手带您无忧上云