关于位运算的一些需要搞清楚的边界
整理日期按学习顺序编排,不代表原始发表时间。实际整理于 2026-10-24。
难度为阅读建议,可从 ACM 学习索引 按阶段阅读。
-
最大的 int 型整数在二进制形式下表示为 0111 1111 1111 1111 1111 1111 1111 1111。这是一个 32 位的二进制数,其中最高位为符号位(0 表示正数),其余的位全部为 1。
-
这个二进制数对应的十进制值为 (2^{31} - 1),即 2,147,483,647。
所以只有31位,>>30就可以取到最高位(在正数int范围内)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 爱飞鱼的blog!
