2015-11-02 21 views
-3

這是我的代碼。我想要一個二進制值爲c,但我的輸出是294977。如何異或?java中的XOR不提供二進制值

public class Dumm { 
    public static void main(String []args) { 
     int a = 01101010; 
     int b = 00001111; 
     int c = a^b; 
     System.out.print(c); 
    } 
} 
+1

請只發布格式良好的代碼。這次我已經爲您設置了代碼格式,但將來我們會很樂意爲您做這件事。 –

+5

請注意,a和b不是您所假定的二進制數字。他們實際上是*八進制*。 –

+0

如何獲取a和b的二進制值? –

回答

1

如果要將a和b作爲二進制值,則以「0b」開頭。用於打印二進制值的 使用「Integer.toBinaryString()」方法。 試試這個:

public static void main(String [] args) 
{ 
int a = 0b1101010; 
int b = 0b0001111; 
int c = a^b; 
System.out.println(Integer.toBinaryString(c)); 
} 
+0

但我得到這個錯誤Dumm.java:5:';'預計int a = 0b1101010。它指向b使用^和int b中的相同錯誤 –

+0

您使用的是哪個版本的Java? –

0

如果你要正確對待你的號碼爲二進制,你必須與0b開始編號。 你已經預置了o(英文字母)而不是0(零)。

 int a = 0b01101010; 
     int b = 0b00001111; 
     int c = a^b; 
     System.out.print(Integer.toBinaryString(c)); 
+0

System.out.println(Integer.toBinaryString(c))not System.out.print(c) – Khuong