我不知道这甚至叫什么,所以我无法真正找到问题。
这很简单,我正在写一个程序,而我的朋友给了我一些东西。 (这很难解释)
他们是: 为0x00 0×01 和 0×04
基本上,如果布尔值不为真,我想将0x00和0x04加在一起制作0004(4),但如果是,则加入0x01和0x04以制作0104(104)
我该怎么做? :■
我不确定所有的操作员,我已经尝试了|,<<,>>,我知道的一切,不知道该做什么,都没有用。
答案 0 :(得分: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));
答案 1 :(得分:0)
0x00
0x01
和0x04
是十六进制数字。您正在尝试进行十六进制加法。
String a= Integer.tohexString(0x00);
String b = Integer.toHexString(0x01);
if(true){
sysout(Integer.toHexString(Integer.parseint(a,16)+Integer.parseInt(b,16)));
}