1 package com.oj.test; 2 3 /** 4 * 题目描述 5 世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 6 * @author WGS 7 */ 8 public class Exe1 { 9 10 public int countBitDiff(int m, int n) { 11 if(m==0 && n==0) 12 return 0; 13 int num = m ^ n; 14 int count=0; 15 int flag = 1; 16 while(flag != 0){ 17 if((num & flag)!=0 ) 18 count++; 19 20 flag=flag<<1; 21 } 22 return count; 23 } 24 public static void main(String[] args) { 25 Exe1 e=new Exe1(); 26 System.out.println(e.countBitDiff(1999,2299)); 27 } 28 29 }