Heim >Backend-Entwicklung >C++ >Wie kann ich ein kurzes Literal in C schreiben?

Wie kann ich ein kurzes Literal in C schreiben?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 11:18:02833Durchsuche

How Can I Write a Short Literal in C  ?

Kurze Literale in C schreiben

In C gibt es vordefinierte Literale für verschiedene Datentypen, wie zum Beispiel int, long und double. Allerdings gibt es für die Abkürzung kein dediziertes Literal. Um ein kurzes Literal zu schreiben, können Sie eine Umwandlung verwenden, wie unten gezeigt:

<code class="cpp">((short)2)  // This assigns the short literal value 2 to a variable of type short</code>

Obwohl es sich nicht um ein explizites kurzes Literal handelt, verhält sich dieser Ansatz ähnlich und weist einer Variablen effektiv einen kurzen Wert zu.

Obwohl es keine direkte Kurzliteral-Notation gibt, optimiert der Compiler den Code normalerweise so, dass er die umgewandelte Ganzzahl als Kurzzahl behandelt, ohne dass ein erheblicher Leistungsaufwand entsteht. Zum Beispiel der folgende Code:

<code class="cpp">short a = 2L;
float b = 2.0;
short c = (short)2;
char d = '';</code>

Ergibt beim Kompilieren und Disassemblieren den folgenden Maschinencode:

movl    , _a
movl    , _b
movl    , _c
movl    , _d

Dies zeigt an, dass der Compiler allen vier direkt den Wert 2 zugewiesen hat Variablen, unabhängig von ihrem Datentyp. Daher müssen Sie sich keine übermäßigen Gedanken über Auswirkungen auf die Leistung machen, wenn Sie diesen Casting-Ansatz zum Schreiben kurzer Literale verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich ein kurzes Literal in C schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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