前言
第10天:位运算
从现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。
位运算主要有如下几项操作:
一、练习题目
题目链接 | 难度 |
---|---|
191.位1的个数 | ★☆☆☆☆ |
461. 汉明距离 | ★☆☆☆☆ |
136. 只出现一次的数字 | ★☆☆☆☆ |
137. 只出现一次的数字 II | ★★☆☆☆ |
260. 只出现一次的数字 III | ★★☆☆☆ |
二、思路与代码
1. 位1的个数
题目描述:
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
解题思路:
1)二进制数与1的交集若不为零,则说明该二进制数的末尾数字为一;
2)每次将二进制数右移一位,统计末尾二进制数为一的个数。
class Solution(object):
def hammingWeight(self