Forum: Mikrocontroller und Digitale Elektronik Python vorangestellte Null merkwürdiges Verhalten


von Ralf (Gast)


Lesenswert?

Hallo

Habe heute ein mrekwürdiges Verhalten bei Python auf dem Raspberry 
bemerkt. Folgender Code:

a = 123
b = 0123
print a
print b


führt zur Ausgabe:

123
83


wahrscheinlich ist die Erklärung denkbar einfach..

von Egon D. (Gast)


Lesenswert?

Ralf schrieb:

> a = 123
> b = 0123
> print a
> print b
>
> führt zur Ausgabe:
>
> 123
> 83
>
> wahrscheinlich ist die Erklärung denkbar einfach..

Super. "Was sind Oktalzahlen?"

(Ist mir bei Tcl auch passiert...)

von Luca (Gast)


Lesenswert?

Ich kenne Python nicht aber ich würde mal vermuten, dass die führende 0 
daführ steht, dass die Zahl im Oktal Format angegeben ist. Wie du schon 
rausgefunden hast steht "123" im Oktal Format für "83" im Dezimalsystem.

von Einer K. (Gast)


Lesenswert?

Ralf schrieb:
> b = 0123

Was sagt dir Python bei 0183 ?
;-)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Ralf schrieb:
> b = 0123

In Python 3 wäre das ein Syntaxfehler. Da geht nur noch 0o123.

von Nico W. (nico_w)


Lesenswert?

Arduino Fanboy D. schrieb:
> Was sagt dir Python bei 0183 ?

Das ist so intelligent wie 0b2.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ralf schrieb:
> 83
= 1 *8^2 + 2 *8^1 + 3 *8^0 = 1*64 + 2*8 + 3

Auch in C sorgte die (z.B. für eine hübsche Formatierung des Quellcodes) 
vorangestellte 0 schon für derartige Verwirrung.

Beitrag #5726608 wurde vom Autor gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.