Есть ли двоичные литералы в Java?

Я хочу объявить мое целое число двоичным литералом. Возможно ли это на Java?

2 ответа

Решение

Посмотрите на эту ссылку:

http://en.wikibooks.org/wiki/Java_Programming/Literals/Numeric_Literals/Integer_Literals

В Java вы можете вводить целые числа в нескольких форматах:

1) В качестве десятичных чисел, таких как 1995, 51966. Отрицательные десятичные числа, такие как -42, на самом деле являются выражениями, состоящими из целочисленного литерала с унарной отрицательной операцией.

2) В качестве восьмеричных чисел используется начальная 0 (ноль) цифра и одна или несколько дополнительных восьмеричных цифр (цифры от 0 до 7), например 077. Восьмеричные числа могут быть оценены как отрицательные числа; например 037777777770 на самом деле является десятичным значением -8.

3) В качестве шестнадцатеричных чисел используется форма 0x (или 0X), за которой следуют одна или несколько шестнадцатеричных цифр (цифры от 0 до 9, от a до f или от A до F). Например, 0xCAFEBABEL - это длинное целое число 3405691582. Как и восьмеричные числа, шестнадцатеричные литералы могут представлять отрицательные числа.

4) Начиная с J2SE 7.0, в виде двоичных чисел, используя форму 0b (или 0B), за которой следуют одна или несколько двоичных цифр (0 или 1). Например, 0b101010 - это целое число 42. Как и восьмеричные и шестнадцатеричные числа, двоичные литералы могут представлять отрицательные числа.

Если у вас нет J2SE 7.0, используйте это:

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

В JDK 7 это возможно:

int binaryInt = 0b101;

Просто добавьте ваш номер к 0b,

Другие вопросы по тегам