c Connaissances de base et analyse rapide

1. Types de données de base

Le type de données peut être compris comme un alias d'une taille de mémoire fixe. Le type de données est l'alias du modèle qui crée la variable. La
variable est l'alias de la mémoire continue réelle. Le programme utilise des variables pour demander et nommer l'espace de stockage. L'espace de stockage peut être utilisé par le nom de la variable.

2. Symboles des types de données

2.1 Numéros signés

Le bit le plus élevé du type de données est utilisé pour identifier le symbole des données

Le bit le plus élevé est 1, indiquant que le nombre est négatif, et le
bit le plus élevé est 0, indiquant que le nombre est positif.
Dans l'ordinateur, un nombre signé est représenté par un complément

  1. > Le complément d'un nombre positif est le nombre positif lui-même. Le complément d'un nombre négatif est l'inverse de la valeur absolue du nombre négatif +1.

2.2 Numéros non signés

L'ordinateur utilise le code d'origine pour représenter le nombre non signé (la valeur par défaut non signé est un nombre positif et le nombre non signé n'a pas de bit de signe)

2.3signé 和 non signé

La variable par défaut dans le langage c utilise par défaut un type signé. Le
mot clé unsigned déclare qu'une variable est de type non signé

  • Seuls les types entiers en langage C peuvent déclarer des variables non signées.
  • Lorsque le nombre non signé et le nombre signé sont mélangés dans le calcul, le nombre signé sera converti en un nombre non signé dans le calcul et le résultat sera un nombre non signé.

3.1 À propos des nombres à virgule flottante

Les méthodes de stockage des nombres à virgule flottante en mémoire sont: bit de signe, exposant, mantisse
c Connaissances de base et analyse rapide

La représentation interne des données flottantes et doubles dans l'ordinateur est la même, mais en raison de la différence d'espace de stockage occupé, elles peuvent respectivement représenter des plages numériques et des précisions différentes.

3.2 Conversion de nombres à virgule flottante

1. Convertissez un nombre à virgule flottante en binaire
2. Utilisez la notation scientifique pour représenter un nombre binaire à virgule flottante
3. Calculez la valeur après le décalage de l'exposant

Remarque: lors du calcul de l'index, vous devez ajouter un décalage, et la valeur de l'offset est liée au type

Pour float plus valeur offset 127,
pour double plus offset value 1023


8.25 Représentation en mémoire
8.25 Représentation binaire: 1000.01 -> 1.00001 * (2 ^ 3)
Bit de signe: 0
Exposant: 127 + 3 = 130 -> 130 -> 10000010
Décimal: 00001
Représentation en mémoire 0 1000010 00001000000000000000000000000000

Question intéressante
pour les systèmes 32 bits, int et float occupent tous deux 4 octets de mémoire, pourquoi float a une plage plus large que int.
c Connaissances de base et analyse rapide

3.3 Résumé des types à virgule flottante

1. Le nombre de nombres spécifiques
représentés par float est différent de int 2. Les nombres qui peuvent être représentés par float ne sont pas continus et il y a des espaces.
3. Float n'est qu'une représentation approximative et ne peut pas être utilisé comme un nombre exact
. 4. Parce que La représentation de la mémoire est relativement compliquée et la vitesse de calcul de float est beaucoup plus lente que celle de int

Double et float ont la même représentation mémoire, donc double est également imprécis. Parce que double occupe plus de mémoire, la précision qui peut être représentée est supérieure à celle de float.

// 浮点类型运算的时候 0 的定义
#define ZERO 0.000000000000001

4.1 Conversion de type

Je suppose que tu aimes

Origine blog.51cto.com/13731480/2565692
conseillé
Classement