Maison > développement back-end > C++ > Comment implémenter des littéraux courts en C ?

Comment implémenter des littéraux courts en C ?

Linda Hamilton
Libérer: 2024-10-30 11:01:02
original
922 Les gens l'ont consulté

How to Implement Short Literals in C  ?

Conversion d'entiers en littéraux courts en C

En C, l'écriture de littéraux entiers dans des formats spécifiques indique leurs types de données. Cependant, écrire un littéral court peut sembler déroutant.

Question : Implémentation de littéraux courts

Comment un littéral court peut-il être écrit en C ? Les connaissances existantes comprennent :

  • 2 : int
  • 2U : int non signé
  • 2L : long
  • 2LL : long long
  • 2.0f : float
  • 2.0 : double
  • '2' : char

Réponse : lancer un entier

Bien qu'il n'y ait pas de format littéral court direct, la conversion d'un entier en short fournit le comportement souhaité :

<code class="cpp">((short)2)</code>
Copier après la connexion

Comportement du casting

Bien qu'il ne s'agisse pas d'un format littéral , le casting garantit un comportement similaire en forçant l'entier à un court sans allouer explicitement de mémoire supplémentaire ni effectuer de conversions inutiles.

Exemple de désassemblage

Considérez le code suivant :

<code class="cpp">a = 2L;
b = 2.0;
c = (short)2;
d = '';</code>
Copier après la connexion

La compilation et le désassemblage de ce code entraînent :

movl    , _a
movl    , _b
movl    , _c
movl    , _d
Copier après la connexion

Cela démontre que le compilateur optimise le code et en stocke 2 dans toutes les variables, quels que soient leurs types déclarés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal