Maison  >  Article  >  développement back-end  >  Le type de données entier long est requis en langage C

Le type de données entier long est requis en langage C

WBOY
WBOYavant
2023-09-19 13:09:03769parcourir

Le type de données entier long est requis en langage C

En C ou C++, il existe quatre types de données différents pour les données de type entier. Les quatre types de données sont short, int, long et long long. Chaque type de données occupe un espace mémoire différent. La taille varie selon les architectures et les systèmes d'exploitation. Parfois un int nécessite 4 octets, parfois 2 octets. Cela arrive aussi avec les compilateurs. Nous pouvons donc utiliser un compilateur croisé.

Un compilateur croisé est essentiellement un compilateur capable de compiler pour des plateformes autres que la plateforme actuelle.

Donc, si nous voulons compiler le code suivant dans un système 32 bits et un système 64 bits, cela produira une sortie différente.

Exemple

#include<stdio.h>
int main() {
   printf("Size of int : %ld Bytes</p><p>", sizeof(int));
   printf("Size of long : %ld Bytes</p><p>", sizeof(long));
   printf("Size of long long : %ld Bytes", sizeof(long long));
}

Sortie

Size of int : 4 Bytes
Size of long : 4 Bytes
Size of long long : 8 Bytes

Ainsi, à partir de cet exemple, nous pouvons facilement comprendre que le type de données longues varie d'un compilateur à l'autre. Alors, quelle est la raison derrière cela ?

Le CPU appelle les données dans la mémoire principale (RAM) en fournissant l'adresse du registre d'adresses mémoire (MAR). Une fois l'emplacement trouvé, il est transféré vers le registre tampon mémoire (MBR). Les données sont stockées dans les registres du processeur pour une utilisation ultérieure. Ainsi, la taille du bus de données détermine la taille des registres du processeur. Pour les systèmes 32 bits, seuls 4 octets de données peuvent être appelés à la fois. Si les données sont supérieures à 32 bits, deux cycles sont nécessaires. Donc, pour des données plus petites, il n'y a aucune différence.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer