-3
我想實現一個程序來測試是否& b == 0。如果兩個整數在同一位置至少有1位,它應該返回false,如果它們在不同位置有1位,則返回true。測試是否a&b == 0
這裏是我的代碼:
import java.util.*;
public class btest{
public static boolean testand(int a,int b){
int i=0;
int k=0;
int m=0;
while(i<32){
k= (a>>i) &1;
m=(b>>i) &1;
if (k==1 && m==1){
System.out.println("they have bit 1 in common at position:"+i);
return false;
}
i++;
}
System.out.println(" a & b is equal :" + (a &b));
return true;
}
public static void main(String[]args){
Scanner scnr=new Scanner(System.in);
int a=scnr.nextInt();
int b=scnr.nextInt();
System.out.println(testand(a,b));
}
}
它適用於小的值。這對大數字是否正確?
你爲什麼不只是使用'A&B'? – 2010-06-21 05:22:04
如果您希望人們閱讀您的代碼,那麼您可以先嚐試格式化它,這會有所幫助。 – bdonlan 2010-06-21 05:23:00
是的。格式化它,並刪除任何無用的空格,如果可能,爲所有變量選擇有意義的名稱。 – MatrixFrog 2010-06-21 05:39:11