2012-10-29 64 views
-1

我不知道這是甚至叫什麼,所以我真的不能找到一個問題。位標誌和狀態

這很簡單,我正在寫一個程序,而我的朋友給了我一些東西。 (這是很難解釋)

它們是: 爲0x00 0×01 和 0×04

基本上,如果一個布爾值是不正確的,我想爲0x00和0x04訪問加在一起,使0004(4) ,但是如果它是真的,則添加0x01和0x04使得0104(104)

我該怎麼做? :s

我不確定所有的操作員,我試過|,< <,>>,我知道的一切,不知道該怎麼辦,沒有任何工作。

回答

0

0x000x010x04是十六進制數字。你試圖做十六進制加法。

String a= Integer.tohexString(0x00); 
String b = Integer.toHexString(0x01); 
if(true){ 
    sysout(Integer.toHexString(Integer.parseint(a,16)+Integer.parseInt(b,16))); 
    } 
1
int falseValue = 0x00; 
    int trueValue = 0x01; 
    int number = 0x04; 
    boolean bool = true; 

    int result = ((bool ? trueValue : falseValue) << 8) | number; 

    System.out.println(Integer.toHexString(result));