Musisz być ostrożny, jeśli konwertujesz z liczby całkowitej, która "wygląda na" tak jak sugeruje @agilesteel. Na przykład 0101.b
spróbuje przekonwertować 65 dziesiętnych na binarne (początkowe 0 oznacza ósemkowo), natomiast 101.b
spróbuje przekształcić 101 dziesiętnie na binarny. Naprawdę sensownie jest spróbować przekonwertować z String, dla którego istnieje Integer.parseInt
, oraz z liczby na binarną reprezentację String, dla której istnieje Integer.toString(x, 2)
.
Nie mogę myśleć o zbyt wielu przypadkach użycia programowych literałów binarnych. Powiedział, że mają made it to Java 7 jako numer z prefiksem 0b
, więc byłbym zaskoczony, gdyby nie pojawili się w Scala wkrótce. Wydaje się, że Java radzi sobie bez nich przez 15 lat.
Zauważ, że od 2.10 użycie wiodącej cyfry 0 jako ósemkowej jest przestarzałe. – AmigoNico