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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-09-19 13:09:03
avant
851 Les gens l'ont consulté

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));
}
Copier après la connexion

Sortie

Size of int : 4 Bytes
Size of long : 4 Bytes
Size of long long : 8 Bytes
Copier après la connexion

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal