Maison  >  Article  >  Java  >  Comparaison de la longueur du type de données entre Java et c/c

Comparaison de la longueur du type de données entre Java et c/c

高洛峰
高洛峰original
2017-01-22 10:35:091248parcourir

1. Les types entiers en langage C incluent char, short, int, long, etc. Voici les réglementations sur la longueur de chaque type de données en langage C :
(a). les types longs sont différents. Idem
(b). Le type int est généralement le même que la longueur physique du mot de la machine spécifique
(c) est généralement de 16 bits, int est généralement de 16 bits ou 32 bits. peut le déterminer librement en fonction des différents matériels, mais short et int doivent être d'au moins 16 bits, et le type long doit être d'au moins 32 bits, et short doit être plus court que les types int et long.

2. L'opérateur sizeof() renvoie le nombre d'octets (octets) contenus dans un type de données. AnsiC stipule que sizeof(char) doit renvoyer 1. Lorsque sizeof est appliqué à un tableau, le résultat est. le nombre d'octets occupés par tous les membres du tableau (notez qu'il ne s'agit pas du nombre de membres du tableau). Lorsque sizeof() est appliqué aux structures et aux organismes publics, il ne renvoie pas seulement le nombre total d'octets des données membres. , mais inclut également les octets complétés par le compilateur pour implémenter l'alignement des octets.

J'avais l'habitude de comprendre vaguement ces règles lors de l'écriture de programmes, mais j'ai toujours pensé que le type char devait être de 8 bits. Cependant, j'ai récemment travaillé sur un projet DSP intégré, et le manuel du compilateur indiquait clairement que le type char. est de 16 bits, mais je n'ai pas eu d'autre choix que de découvrir "Le langage de programmation C" et j'ai découvert que ANSI C n'a pas d'exigence rigide concernant la longueur du type char. Dans le passé, je n'ai pas prêté beaucoup d'attention à la portabilité des types de données lors de l'écriture de programmes. Tous les codes précédents utilisés dans ce projet doivent être réexaminés pour les problèmes de longueur des types de données.

Problème de longueur du type de données C :

1. Octets et longueur des mots
Octets, huit bits font un octet, ce qui est un concept fixe. La longueur des mots fait référence à la longueur des données binaires que l'ordinateur peut traiter en une seule fois. Il s'agit d'un concept non fixe. Par exemple, la longueur de mot d'un ordinateur 8 bits est de 8, soit un octet, et la longueur de mot d'un ordinateur 32 bits est de 32, soit 4 octets. De même, la longueur de mot d'un ordinateur 64 bits est de 64. , ou 8 octets.

2. Types de données en C
1. Caractère de données, ce type fait toujours un octet, soit 8 bits.
2. Entier, court et long. Habituellement, int contient un mot, short un demi-mot et long un ou deux mots (un mot sur une machine 32 bits).

3. Float, double et long double représentent respectivement des nombres à virgule flottante simple précision, des nombres à virgule flottante double précision et des valeurs à virgule flottante de précision étendue. En règle générale, float est un mot, double est deux mots et long double est trois ou quatre mots.

La longueur de chaque type de données en Java :

booléen dépend de l'environnement de compilation d'essai
octet 1 octet
court 2 octets
char 2 mots Section
int 4 octets
long 8 octets
float 4 octets
double 8 octets

Plus de longueurs de types de données Java et c/c Pour plus d'articles connexes, veuillez faire attention au site Web PHP chinois !

Déclaration:
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