31

我想用二进制文字声明我的整数。在Java中可能吗?

4

2 回答 2

42

从 Java 7 开始,您可以将整数直接表示为二进制数,使用0b(或0B) 后跟一个或多个二进制数字(0 或 1)的形式。例如,0b101010是整数 42。与八进制和十六进制数一样,二进制文字可能表示负数。

如果您没有 Java 7,请使用:

int val = Integer.parseInt("001101", 2);

还有其他输入整数的方法:

  1. 作为十进制数,如1995, 51966。负十进制数,例如-42实际上是由整数文字和一元否定运算组成的表达式。

  2. 作为八进制数,使用前导 0(零)数字和一个或多个附加八进制数字(0 到 7 之间的数字),例如 077。八进制数可以计算为负数;例如037777777770实际上是十进制值-8。

  3. 作为十六进制数,使用形式 0x(或 0X)后跟一个或多个十六进制数字(从 0 到 9、a 到 f 或 A 到 F 的数字)。例如,0xCAFEBABEL是长整数 3405691582。与八进制数一样,十六进制文字可能表示负数。

更多细节可以在这个 Wikibook中找到。

于 2012-06-09T12:41:17.443 回答
42

在 JDK 7 中可以:

int binaryInt = 0b101;

只需在您的号码前加上0b.

于 2012-06-09T12:41:34.607 回答