Warum gibt das 8 aus?

7
%Vor%

Ausgabe:

%Vor%

Warum? Was ist die Logik?

    
Ashwin Upadhyay 05.08.2013, 17:42
quelle

6 Antworten

27

0 ist das Präfix für Oktalzahlen, genauso wie 0x das Präfix für Hexadezimalzahlen ist (und 0b ist das Präfix für Binärzahlen seit Java 7).

So 010 bedeutet 1 * 81 + 0 * 80 , was 8 ist.

    
JB Nizet 05.08.2013, 17:43
quelle
15

Sehen Sie sich die Java Language Specification an, Kapitel 3.10.1 Ganzzahlige Literale

  

Ein Integer-Literal kann in Dezimal (Basis 10), Hexadezimal ausgedrückt werden   (Basis 16), oktal (Basis 8) oder binär (Basis 2).

     

Eine Oktalzahl besteht aus einer ASCII-Ziffer 0, gefolgt von einer oder mehreren Ziffern   der ASCII-Ziffern 0 bis 7 mit Unterstrichen durchsetzt, und kann   repräsentieren eine positive, Null oder negative Ganzzahl.

Deshalb 010 = 8 .

    
Reimeus 05.08.2013 17:44
quelle
2

Weil 010 , hier ist oktal.

    
rocketboy 05.08.2013 17:43
quelle
2

Die Ganzzahl ist in oktal-System, weil Sie 0 beim Start haben.

    
arjacsoh 05.08.2013 17:44
quelle
0

Wenn Sie das 0-Präfix verwenden, verwenden Sie oktale -Zahlen.

    
user2389722 06.08.2013 10:49
quelle
0

In Java und einigen anderen Sprachen wird ein ganzzahliges Literal, das mit 0 beginnt, als oktale (Basis 8) Menge interpretiert.

Wenn Sie Zahlen mit mehr als einer signifikanten Zahl schreiben, können Sie durch das Ergebnis verwirrt sein.

%Vor%     
Bishan 06.08.2013 10:57
quelle

Tags und Links