Подтвердить что ты не робот

Почему в Java нет бинарных литералов?

Есть ли какая-то особая причина, почему этот литерал не включен, тогда как разрешены шестнадцатеричные и восьмеричные форматы?

4b9b3361

Ответ 2

Бинарные литералы были введены в Java 7. См. "Улучшенные целые литеры" :

int i = 0b1001001;

Причина того, что они не включают их с первого дня, скорее всего, такова: Java является языком высокого уровня и весьма ограничительна, когда речь идет о языковых конструкциях, которые менее важны и низки. Разработчики Java придерживались общей политики "если есть сомнения, сохраните ее".

Если вы работаете на Java 6 или старше, лучшим вариантом является

int yourInteger = Integer.parseInt("100100101", 2);

Ответ 4

связанная ошибка открыта с апреля 2004 года, имеет низкий приоритет и рассматривается как запрос на улучшение Sun/Oracle.

Я думаю, они думают, что бинарные литералы сделают язык более сложным и не даст очевидных преимуществ...

Ответ 5

Кажется, создается впечатление, что реализация бинарных литералов сложна. Это не так. Это займет около пяти минут. Плюс тесты, конечно.