Beim Umgang mit ganzzahligen Literalen in C treten bestimmte Verhaltensweisen auf, wenn die Zahl mit Null beginnt. Diese Verhaltensweisen drehen sich um die Basis der interpretierten Zahl.
Wenn ein ganzzahliges Literal mit Null beginnt, wird es normalerweise als Oktalzahl interpretiert, auch bekannt als Basis 8. Dies bedeutet, dass die verwendeten Ziffern von 0 bis 7 reichen. Beispielsweise entspricht 07 dem Dezimalwert 7.
Wenn jedoch ein ganzzahliges Literal 00x ist, ist dies der Fall wird als Hexadezimalzahl behandelt, die die Basis 16 verwendet. Es beginnt mit dem Präfix 0x und verwendet die Ziffern 0-9 und A-F, um die Dezimalwerte 0-15 darzustellen.
Ein Fehler tritt auf, wenn ein ganzzahliges Literal aufgrund dieser Kombination mit 08 beginnt ist in C undefiniert. Es gibt keine Oktalziffer 8.
Wenn ein ganzzahliges Literal mit mehreren Nullen beginnt, werden alle führenden Nullen außer der ersten ignoriert. Beispielsweise wird 00016 als Oktalzahl 16 interpretiert, was dem Dezimalwert 14 entspricht. Dies liegt daran, dass 016 die Oktalzahl 14 darstellt.
Daher gilt in Ihren gegebenen Beispielen:
Das obige ist der detaillierte Inhalt vonWie werden Zahlen mit vorangestellter Null in C interpretiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!