题目:
给定两个整数A和B,
需要改变几个二进制位才能将A转为B。
样例输入
10 8
样例输出
1
思路:
改变几个即是,原两个数之间有几位是不同的,将两个数异或运算,在同计解中1的个数即可。(统计1的个数在前边详细解释过)
(Java代码)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c= a^b;
int count = 0;
while(c!=0) {
c = c&(c-1);
count++;
}
System.out.println(count);
}
}
网友评论