1.1、题目1
剑指 Offer 15. 二进制中1的个数
1.2、解法
通过判断每一位的与来识别1的数量。
1.3、代码
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int res=0;
for(int i=0;i
2.1、题目2
剑指 Offer 65. 不用加减乘除做加法
2.2、解法
第一次做位运算的算法,直接看题解,找思路~~
两道题的解法都很有趣,之前都没用到过这些东西, 这些在嵌入式应该比较经常用上。
2.3、代码
class Solution {
public int add(int a, int b) {
while(b != 0) { // 当进位为 0 时跳出
int c = (a & b) << 1; // c = 进位
a ^= b; // a = 非进位和
b = c; // b = 进位
}
return a;
}
}
Original: https://www.cnblogs.com/cxykhaos/p/15316427.html
Author: 程序员khaos
Title: 剑指offer计划21( 位运算简单)—java
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/714696/
转载文章受原作者版权保护。转载请注明原作者出处!