美文网首页奇妙的位运算
位运算之两个数转换进制改变问题(hihocoder)

位运算之两个数转换进制改变问题(hihocoder)

作者: 掌灬纹 | 来源:发表于2019-01-24 21:55 被阅读0次

    题目:

    给定两个整数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);

    }

    }

    相关文章

      网友评论

        本文标题:位运算之两个数转换进制改变问题(hihocoder)

        本文链接:https://www.haomeiwen.com/subject/vtxpjqtx.html