recherche
  • Se connecter
  • S'inscrire
Réinitialisation du mot de passe réussie

Suivez les projets qui vous intéressent et découvrez les dernières actualités les concernant.

Casting C

Collection 205
Lire 91674
temps de mise à jour 2016-09-11

La coercition consiste à convertir une variable d'un type à un autre type de données. Par exemple, si vous souhaitez stocker une valeur longue dans un entier simple, vous devez convertir la valeur longue en un entier. Vous pouvez utiliser l'opérateur de conversion pour convertir explicitement une valeur d'un type à un autre, comme indiqué ci-dessous :

(type_name) expression

Voir l'exemple suivant, en utilisant la conversion de type. L'opérateur de conversion de type divise une variable entière par une autre variable entière, résultant en un nombre à virgule flottante :

#include <stdio.h>main(){   int sum = 17, count = 5;   double mean;

   mean = (double) sum / count;
   printf("Value of mean : %f\n", mean );}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

Value of mean : 3.400000

Ce qu'il faut noter ici est que la priorité de l'opérateur de conversion est supérieur à la division, donc la valeur de somme est d'abord convertie en type double, puis divisée par nombre pour obtenir un type de valeur double.

La conversion de type peut être implicite, effectuée automatiquement par le compilateur, ou explicite, spécifiée à l'aide de l'opérateur de conversion . Lors de la programmation, c'est une bonne habitude de programmation d'utiliser l'opérateur de conversion chaque fois qu'une conversion de type est nécessaire.

Promotion d'entier

La promotion d'entier fait référence à la conversion du type entier plus petit que int ou unsigned int en int ou processus int non signé. Regardez l'exemple suivant, en ajoutant un caractère à int :

#include <stdio.h>main(){   int  i = 17;   char c = 'c'; /* ascii 值是 99 */   int sum;

   sum = i + c;
   printf("Value of sum : %d\n", sum );}

Lorsque le code ci-dessus est compilé et exécuté, il produira les résultats suivants :

Value of sum : 116

Ici, la valeur de sum est 116 , car le compilateur effectue une promotion entière et convertit la valeur de « c » en valeur ascii correspondante lors de l'exécution de l'opération d'addition réelle.

Conversions arithmétiques couramment utilisées

Conversions arithmétiques couramment utilisées contraignent implicitement les valeurs au même type. Le compilateur effectue d'abord une promotion d'entier, et si les types d'opérandes sont différents, ils sont convertis vers le type de niveau le plus élevé apparaissant dans la hiérarchie suivante :

1056.png

Les conversions arithmétiques courantes ne s'appliquent pas Pour les opérateurs d'affectation, les opérateurs logiques && et ||. Voyons l'exemple suivant pour comprendre ce concept :

#include <stdio.h>main(){   int  i = 17;   char c = 'c'; /* ascii 值是 99 */   float sum;

   sum = i + c;
   printf("Value of sum : %f\n", sum );}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

Value of sum : 116.000000

Ici, c est d'abord converti en entier, mais puisque la valeur finale est de type double, les conversions arithmétiques habituelles sont appliquées et le compilateur convertit i et c en types à virgule flottante et les ajoute pour obtenir un nombre à virgule flottante.

Outils d'IA chauds
Undress AI Tool
Undress AI Tool

Images de déshabillage gratuites

AI Clothes Remover
AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undresser.AI Undress
Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

Stock Market GPT
Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outil populaire
Bloc-notes++7.3.1
Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6
Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac
SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)