Ganzzahlige Numeralia in Java
Alle in dieser Lektion behandelten Numeralia sind ganzzahlig. Das heißt, daß sie keinen Punkt ».« und kein »E« enthalten dürfen.
Zweiernumeralia
Ein Zweiernumerale beginnt mit »0b« oder »0B«, danach folgt dann eine Folge von Ziffern, die aber jeweils entweder »0« oder »1« sein müssen. Es muß mindestens eine solche Ziffer folgen. Diese Ziffern werden dann im Zweiersystem interpretiert.
Die Zweierpotenz ‹ 2ⁿ › ist die Zahl, die man erhält, wenn man ‹ 1 › n -mal mit ‹ 2 › multipliziert.
Den Stellen des Zweiernumerales wird eine Zweierpotenz als Stellenwert zugewiesen. Die letzte Stelle erhält den Wert ‹ 2° ›, eine eventuelle vorletzte Stelle den Wert ‹ 2¹ ›, eine eventuelle vorvorletzte Stelle den Wert ‹ 2² › und so weiter.
Um den Wert eines Zweiernumerales zu erhalten, wird der Stellenwert aller Stellen, die »1« enthalten, zu ‹ 0 › addiert. So hat beispielsweise »0b101« den Wert ‹ 0 + 2² + 2° ›, also ‹ 0 + 1·2·2 + 1 ›, also ‹ 0 + 4 + 1 ›, also ‹ 5 ›.
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 0b101 ); }}transcript
5
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 0B101 ); }}transcript
5
Achternumeralia
Eine Folge von mindestens einer Ziffer, die mit »0« beginnt ist, ist ein Achternumerale. Die Ziffern »8« und »9« sind darin nicht erlaubt.
Die Achterpotenz ‹ 8ⁿ › ist die Zahl, die man erhält, wenn man ‹ 1 › n -mal mit ‹ 8 › multipliziert.
Den Stellen des Achternumerales wird eine Achterpotenz als Stellenwert zugewiesen. Die letzte Stelle erhält den Wert ‹ 8° ›, eine eventuelle vorletzte Stelle den Wert ‹ 8¹ ›, eine eventuelle vorvorletzte Stelle den Wert ‹ 8² › und so weiter.
Um den Wert eines Achternumerales zu erhalten, wird der Stellenwert aller Stellen mit dem Wert der an dieser Stelle stehenden Ziffer multipliziert und zu ‹ 0 › addiert. So hat beispielsweise »012« den Wert ‹ 0 + 1·8¹ + 2·8° ›, also ‹ 0 + 1·1·8 + 2·1 ›, also ‹ 0 + 8 + 2 ›, also ‹ 10 ›.
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( 012 ); }}transcript
10
Man sollte also nicht »012« schreiben, wenn Zwölf gemeint ist!