关于位运算的一些需要搞清楚的边界

  • 最大的 int 型整数在二进制形式下表示为 0111 1111 1111 1111 1111 1111 1111 1111。这是一个 32 位的二进制数,其中最高位为符号位(0 表示正数),其余的位全部为 1。

  • 这个二进制数对应的十进制值为 (2^{31} - 1),即 2,147,483,647。

所以只有31位,>>30就可以取到最高位(在正数int范围内)

posted @ 2024-03-03 23:01  potential-star  阅读(35)  评论(0)    收藏  举报