Heim > Backend-Entwicklung > C++ > Wie werden Zahlen mit vorangestellter Null in C interpretiert?

Wie werden Zahlen mit vorangestellter Null in C interpretiert?

Susan Sarandon
Freigeben: 2024-11-26 12:07:10
Original
982 Leute haben es durchsucht

How Are Zero-Prefixed Numbers Interpreted in C  ?

Zahlen mit Null-Präfix in C

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.

Oktale Interpretation

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.

Sonderfall: 00x

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.

Fehler mit 08

Ein Fehler tritt auf, wenn ein ganzzahliges Literal aufgrund dieser Kombination mit 08 beginnt ist in C undefiniert. Es gibt keine Oktalziffer 8.

Folge führender Nullen

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:

  • 07 ist 7 in Dezimalzahl.
  • 16 ist 16 Zoll dezimal.
  • 00016 ist 14 in Dezimalzahl.
  • 05016 ist 2574 in Dezimalzahl (nicht 14, da es als Oktalwert interpretiert wird).
  • 08 führt zu einem Kompilierungsfehler, da es sich nicht um eine gültige Oktalzahl handelt Ziffer.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage