Ich habe noch nie Oktalzahlen in meinem Code verwendet und bin auch noch nie auf einen Code gestoßen, der sie verwendet hat (trotz Hexadezimalzahlen und Bitverdreher).
Ich habe etwa 1994 mit der Programmierung in C/C++ begonnen, vielleicht bin ich also zu jung für diese Aufgabe? Verwendet älterer Code Oktalzahlen? C unterstützt diese durch das Voranstellen einer 0, aber wo ist der Code, der diese Basis-8-Zahlenliterale verwendet?
31 Stimmen
Ich verwende sie (in Form von oktalen Nullen) ständig:
if (b < 0) b = 0;
2 Stimmen
@pmg: Ich frage mich, ob es schwierig wäre, 0q1234 als das "richtige" Format für Oktal-Konstanten ungleich Null zu definieren und 01234 explizit mit der Empfehlung zu deprivatisieren, dass Compiler eine nicht-fatale Diagnose erzeugen? Eigentlich würde ich gerne ein allgemeines Bit-basiertes Format 0[[x[0-9A-Fa-f]+]|[q[0-7]+]|[w[0-3]+]|[v[0-1]+]]+ sehen, um eine Mischung aus 1-4-Bit-Feldern zu ermöglichen, da 3-Bit-Felder nicht immer ein Vielfaches von 3 Bits von rechts ausgerichtet sind.
0 Stimmen
Zufälligerweise erschien diese Frage heute auf der Titelseite von SO (jemand fügte eine Antwort hinzu), und Raymond Chen veröffentlichte heute zufällig auch einen Artikel über das oktale Chaos: Der Fluch der führenden Null
0 Stimmen
Die einzige Verwendung, die ich gesehen habe, ist bei der Definition von Datei-open()-Flags und Berechtigungen, da sie normalerweise aus Standardverweisen kopiert werden. Aber selbst in diesen Fällen sind sie nicht viel hilfreicher als die dezimale oder sogar binäre Darstellung für Ganzzahl-Literale.
1 Stimmen
@supercat Python 3 tut dies - Oktal-Konstanten haben die Form
0o1234
, während die alte01234
gibt einen Syntaxfehler.0 Stimmen
Und dies: esdiscuss.org/topic/