位运算难点知识整理
- 程序中的所有数在计算机内存中都是以二进制的形式储存的,位运算说穿了,就是直接对整数在内存中的二进制位进行操作。
- 1表示负数,0表示正数
- 这里列举三个比较容易混的位运算:左移,右移,无符号右移
项目 | 符号 | 计算 |
---|---|---|
左移 | << | 左边丢弃,右边补0 |
右移 | >> | 右边丢弃,左边原为0补0,原为1补1 |
无符号右移 | >>> | 不管正负,统一补0 |
相关题目
剑指15-二进制中1的个数
请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
示例 1:
输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/proble