Heim >Backend-Entwicklung >C++ >Wie schreibe ich kurze Literale in C?

Wie schreibe ich kurze Literale in C?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 13:33:301067Durchsuche

How Do I Write Short Literals in C  ?

Kurze Literale in C schreiben

In C müssen Sie möglicherweise einer Variablen einen kurzen ganzzahligen Wert zuweisen. Für die korrekte Arbeit mit numerischen Daten ist es wichtig zu verstehen, wie kurze Literale in C dargestellt werden.

Vorhandene Literale

Sie sind mit verschiedenen Literaldarstellungen für verschiedene Datentypen vertraut:

  • 2: Ganzzahl (int)
  • 2U: Ganzzahl ohne Vorzeichen (unsigned int)
  • 2L: Long (long)
  • 2LL: Long Long (long long)
  • 2.0f: Float (float)
  • 2.0: Double (double)
  • '2': Zeichen (char)

Kurze Literale

Leider gibt es in C keine direkte Syntax für kurze Literale. Sie können jedoch das Gießen nutzen, um das gewünschte Ergebnis zu erzielen. Beim Casting wird ein Datentyp in einen anderen umgewandelt.

Um ein kurzes Literal darzustellen, können Sie eine Ganzzahl wie folgt in einen kurzen Datentyp umwandeln:

<code class="cpp">((short)2)</code>

Dieser Ausdruck erstellt effektiv eine kurze Ganzzahl Wert 2. Der Compiler optimiert den Code, sodass er intern als kurzes Literal interpretiert wird.

Beispiel

Der folgende Code zeigt, wie kurze Literale durch Umwandlung verwendet werden:

<code class="cpp">short a = (short)2;
short b = (short)10;</code>

In diesem Beispiel sind die Variablen a und b vom kurzen Datentyp und haben die Werte 2 bzw. 10.

Disassembly

Um sicherzustellen, dass der Compiler effizient ist, können wir den kompilierten Code zerlegen, um sein Verhalten zu überprüfen. Das Kompilieren und Disassemblieren des folgenden Codes:

<code class="cpp">int main() {
    short a = (short)2;
    return 0;
}</code>

ergibt den Assembler-Code:

movl , -4(%rbp)  

Wie Sie sehen können, wird der Wert 2 direkt im Speicherort gespeichert, was darauf hinweist, dass der Optimierung war erfolgreich.

Das obige ist der detaillierte Inhalt vonWie schreibe ich kurze Literale in C?. 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