Maison Java javaDidacticiel 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

Jan 22, 2017 am 10:35 AM

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

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)

Dans le débogage à distance Java, comment obtenir correctement des valeurs constantes sur les serveurs distants? Dans le débogage à distance Java, comment obtenir correctement des valeurs constantes sur les serveurs distants? Apr 19, 2025 pm 01:54 PM

Questions et réponses sur l'acquisition constante dans le débogage à distance Java Lors de l'utilisation de Java pour un débogage à distance, de nombreux développeurs peuvent rencontrer des phénomènes difficiles. Il...

En développement arrière, comment distinguer les responsabilités de la couche de service et de la couche DAO? En développement arrière, comment distinguer les responsabilités de la couche de service et de la couche DAO? Apr 19, 2025 pm 01:51 PM

Discuter de l'architecture hiérarchique dans le développement back-end. Dans le développement back-end, l'architecture hiérarchique est un modèle de conception courant, y compris généralement le contrôleur, le service et les trois couches DAO ...

Comment convertir les noms en nombres pour implémenter le tri au sein des groupes? Comment convertir les noms en nombres pour implémenter le tri au sein des groupes? Apr 19, 2025 pm 01:57 PM

Comment convertir les noms en nombres pour implémenter le tri au sein des groupes? Lors du tri des utilisateurs en groupes, il est souvent nécessaire de convertir le nom de l'utilisateur en numéros afin qu'il puisse être différent ...

Que dois-je faire si une interface tierce est appelée dans le projet Spring Boot, et que le cas de nom de champ et la méthode Getter sont incohérents, entraînant une défaillance de transmission des données? Que dois-je faire si une interface tierce est appelée dans le projet Spring Boot, et que le cas de nom de champ et la méthode Getter sont incohérents, entraînant une défaillance de transmission des données? Apr 19, 2025 pm 02:03 PM

Les difficultés rencontrées lors de l'appel des interfaces tierces pour transmettre des données dans le projet Springboot seront utilisées pour un ressort ...

Pourquoi signale-t-il une erreur lors de la soumission d'un travail de pyflink sur le fil? Pourquoi signale-t-il une erreur lors de la soumission d'un travail de pyflink sur le fil? Apr 19, 2025 pm 02:06 PM

Analyse de la raison pour laquelle le script Python ne peut être trouvé lors de la soumission d'un travail de pyflink sur le fil lorsque vous essayez de soumettre un travail de pyflink via le fil, vous pouvez rencontrer ...

Comment modifier dynamiquement le paramètre SavePath de @Excel Annotation dans Easypoi lorsque le projet commence en Java? Comment modifier dynamiquement le paramètre SavePath de @Excel Annotation dans Easypoi lorsque le projet commence en Java? Apr 19, 2025 pm 02:09 PM

Comment configurer dynamiquement les paramètres des annotations de classe d'entité en Java pendant le processus de développement, nous rencontrons souvent la nécessité de configurer dynamiquement les paramètres d'annotation en fonction de différents environnements ...

See all articles