-1

我什至不知道这叫什么,所以我真的找不到关于它的问题。

这很简单,我正在编写一个程序,我的朋友给了我一些东西。(很难解释)

它们是:0x00 0x01 和 0x04

基本上,如果布尔值不正确,我希望将 0x00 和 0x04 加在一起以生成 0004 (4),但如果为真,则添加 0x01 和 0x04 以生成 0104 (104)

我该怎么做呢?:秒

我不确定所有的运算符,我尝试过 |、<<、>>,我所知道的一切,不知道该做什么,没有一个工作。

4

2 回答 2

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));
于 2012-10-29T23:47:27.713 回答
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)));
  }
于 2012-10-29T23:46:28.050 回答