2024 PubMed 408 - Principes de composition informatique Chapitre 2 - Notes d'étude sur la représentation des données

Annuaire d'articles

avant-propos

Actuellement en préparation de l'examen d'entrée au 24ème cycle, les points de connaissances appris et triés dans 24 l'ordinateur 408 sont maintenant résumés.

Index des répertoires d'articles de blogs de blogueurs : index des répertoires de blogs (mis à jour en permanence)


1. Système de numération et codage

image-20230522101813180


1.1, transporter le système de comptage

image-20230522101911368


1.1.1. Méthode de comptage (la plus ancienne méthode de comptage, comptage décimal, comptage r-aire)

La méthode de comptage la plus ancienne : Les nombres représentés par des caractères de base au début ont le défaut que lorsque l'on veut représenter des nombres plus grands, il faut construire des caractères plus grands, comme 10000, 100 000 et ainsi de suite, cela crée des inconvénients.
image-20230522102207208

  • Parmi eux, MDCCCLXXXVIII : signifie 1 1000 + 1 500 + 3 100..., et enfin obtenir ce nombre par l'idée d'addition.

Notation décimale :

位权· : Le poids à représenter selon la position du nombre correspondant.

image-20230522102802128

  • Les humains ont 10 doigts, et ils peuvent en ajouter dix à un, ce qui est plus conforme aux lois des êtres humains.

Promotion : notation r-aire

Hexadécimal : heure

Les ordinateurs utilisent généralement le binaire, l'octal et l'hexadécimal. Différents systèmes r doivent ajouter 1 chaque r.

基数: Le nombre de symboles différents utilisés par chaque bit numérique, la base du système r est r.

image-20230522104540603


1.1.2, conversion de base

① Convertir une base arbitraire en décimal

image-20230522104915941


②Binaire à octal, hexadécimal

image-20230522105309211

③Octal, hexadécimal à binaire

image-20230522105336877


④ Décimal à base arbitraire (y compris les nombres entiers, les décimales, la méthode patchwork)

image-20230522105556403

Pour le traitement de la partie entière décimale : obtenir en continu le nombre de chiffres par division

image-20230522105620546

Pour le traitement des fractions décimales :

image-20230522105826228

Décimal à binaire (méthode patchwork)

image-20230522110124584

image-20230522110136041

Pour la conversion de décimal en octal ou autres, vous pouvez d'abord convertir en binaire, puis convertir le binaire en le r-aire correspondant : comme suit à l'aide de l'exemple ci-dessus et continuer vers le bas, le nombre octal final obtenu est 1025,1

image-20230522110203584


1.1.3. Méthodes d'écriture communes des différentes bases

image-20230522105508243


1.1.4, valeur de vérité et numéro de machine

image-20230522110326735

Bilan des connaissances et points de test importants

image-20230522110509138


1.2, code DCB

1.2.1 Comprendre le code BCD

image-20230522165517068

Quatre bits correspondent à un chiffre décimal

image-20230522113720746


1.2.2. Connaître la méthode d'encodage du BCD : code 8421 (code autorisé)

La méthode de codage du premier code BCD est : 8421, c'est-à-dire que tous les 4 chiffres représentent un nombre

image-20230522114114005

Comment effectuer un calcul d'addition pour 8421 ?

①Méthode de calcul manuelle : utilisez d'abord la décimale pour ajouter au résultat, puis convertissez-la en représentation 8421.

image-20230522113905432

②Méthode informatique :

image-20230522114344464

Étapes : ① Tout d'abord, effectuez directement le calcul binaire. ② Juger s'il est en 0-9 et défini en 1010-1111, s'il est en expression directe, s'il n'est pas en +6. ③ Le résultat obtenu est représenté par quatre bits en mode 8421 et correspond à un bit.

Exemple Pour le cas de 9+9 : la valeur binaire de 18 est 10010. En fait, l'ensemble a dépassé 1010-1111, il faut donc aussi +6. A ce moment, la correction est 11000, soit 18.

image-20230522114903941

Remarque : Si le résultat de l'addition se situe dans la plage légale, aucune correction n'est requise.


1.2.3, les trois verges restantes (code non autorisé)

image-20230522170019801

Les trois verges restantes se réfèrent à +3 sur la verge 8421 pour obtenir un nouveau schéma de cartographie.

Dans le code 8421, chaque bit a un poids fixe et les quatre bits représentés sont respectivement 8, 4, 2 et 1 ; dans les trois codes restants, chaque bit n'a pas de poids fixe.

  • 8421 est appelé le bon code, et les 3 mètres restants sont appelés le code non correct.

1.2.4, 2421 verges

Il est également représenté par 4 bits, et les poids sont 2 4 2 1 de gauche à droite :

image-20230522170520007

Afin d'éviter toute ambiguïté, par exemple, 5 peut également être représenté par 0101 ou 1011. A ce moment, une réglementation est faite pour le code 2421.

Convention : le premier chiffre de 0-4 est 0, et le premier chiffre de 5-9 est 1 ! ! !


Bilan des connaissances et points de test importants

image-20230522173222824


1.3, entier non signé

Applications des entiers non signés dans les ordinateurs :

image-20230522173550904

image-20230522173600765


1.3.1. Les entiers non signés sont représentés à l'intérieur de l'ordinateur

Les explications sont introduites selon la longueur de mot de 8 bits Actuellement, la longueur de mot machine du système général est de 64 bits ou 32 bits.

image-20230522174131495

Unsigned ne contient pas de bits signés en binaire, et des 0 peuvent être ajoutés s'il n'y a pas assez de 8 bits :

image-20230522174621405

Si la taille de la valeur vraie dépasse 8 bits en binaire, seuls les 8 bits inférieurs seront conservés dans le registre et les bits supplémentaires seront omis.


1.3.2 Addition d'entiers non signés

Ajoutez directement du bit bas au bit haut :

image-20230522174859973


1.3.3 Soustraction d'entiers non signés

Soustraction : transformez la soustraction en une opération d'addition.

Étapes : ① La soustraction reste inchangée et toutes les soustractions sont inversées + 1. ② Calculez ensuite le nombre binaire en fonction de l'opération d'addition.

Exemple : A=99, B=9, AB=90

A = 01100011
B = 00001001

①被减数不变 A = 01100011,减数全部取反+1 => 11110111
②加法运算
  01100011
+ 11110111
-----------
 101011010  => 90

image-20230522175744629


Examen des points de connaissance

image-20230522175920240


1.4. Représentation et fonctionnement avec signes (y compris original/inversé/complément)

image-20230522180325077

Pour un même nombre, différentes représentations originales en complément inverse peuvent être utilisées dans l'ordinateur :

image-20230522180450863


Complément de connaissances (original, inverse, conversion complémentaire, code original pour compléter la méthode rapide)

Nombre positif : la négation d'origine reste inchangée.

Nombre négatif : le code inverse est l'inverse du nombre positif, et le code complément est le code inverse +1.

image-20230522181937297

  • La conversion des nombres négatifs ci-dessus est le processus de conversion de la machine !

Un moyen rapide de convertir le code original des nombres négatifs en code complémentaire : le calcul manuel est fortement recommandé

image-20230522182245089


1.4.1 Représentation des entiers signés (code d'origine)

image-20230522180550406

Utilisez également la longueur de mot machine de 8 bits pour la démonstration !

Le bit de signe de code d'origine indique :

Si la longueur du mot machine n'est pas spécifiée, pour x=-19, elle peut être exprimée comme [x] original =1,10011

  • Signez bit avec une virgule !

image-20230522181252488


1.4.2, l'addition et la soustraction du code d'origine

L'addition et la soustraction du code d'origine : si l'addition et la soustraction au niveau du bit d'origine sont utilisées, le résultat final sera erroné et des circuits matériels complexes doivent être conçus pour le gérer.

image-20230522181507058

En fait, la méthode du code complément peut être utilisée pour réaliser l'opération !


1.4.3 Opération d'addition complémentaire

Addition en complément à deux : les règles d'addition sont les mêmes que précédemment

Exemple 1 : Nombre positif + nombre négatif, le complément final doit d'abord être converti en code d'origine pour obtenir sa valeur de résultat :

image-20230523203610514

Exemple 2 : Négatif + Négatif

image-20230523203921275


1.4.4 Opération de soustraction complémentaire

Comment implémenter l'opération de soustraction du code complément : en une phrase, complément [A] - complément [B] = complément [A] + complément [-B]

image-20230523204618005

Exemple 1:

image-20230523205524984


Examen et résumé des points de connaissance

image-20230523205553469


1.5. Comparaison des caractéristiques du code original/inverse/complémentaire

image-20230523205848438

Voici une petite astuce : Pour juger s'il y a débordement, on peut d'abord calculer manuellement leur valeur combinée, si elle dépasse la plage du code correspondant, alors cela signifie débordement.

image-20230523210111184


1.6, décalage de cadre

1.6.1 Comprendre le décalage de trame

Comment obtenir un décalage de cadre ? Le décalage de code peut être obtenu en inversant le bit de signe sur la base du code complément.

image-20230523210524217

Le décalage de cadre ne peut représenter que des nombres entiers, mais ne peut pas représenter des décimales. Il n'y a qu'une seule représentation pour la vraie valeur 0, et sa plage de représentation est cohérente avec le complément !

S'il est interprété comme un entier non signé, le décalage de code n'est que de 0 à 255 à ce moment.

Application Codeshift : généralement utilisée pour les exposants des nombres à virgule flottante.

image-20230523211214101


1.6.2. Utiliser plusieurs codes pour représenter des nombres entiers (nouvelle partie de décalage de code)

image-20230523211441996


1.6.3 Résumé des caractéristiques de base de divers codes (y compris le décalage de trame)

La comparaison de différents codes inclut le décalage de trame :

image-20230523211331826


1.7, entier à virgule fixe (entier signé), décimal

1.7.1 Représentation des décimales à virgule fixe (y compris l'original, l'inverse et le complément)

Les entiers signés sont appelés entiers à virgule fixe par défaut , et la valeur par défaut est fixée à la dernière position.

Entier à virgule fixe : le point décimal est à la fin.

  • Le codage comprend : le code d'origine, le code inversé, le code complémentaire et le code décalé.

Décimal à virgule fixe : le point décimal est un chiffre après le bit de signe.

  • L'encodage comprend : l'original, l'inverse, le complément.

image-20230523212255177

La représentation de code d'origine de la décimale à virgule fixe : déterminez le poids du bit en fonction de la position de la virgule décimale.

image-20230523212503466

À propos du complément et du complément des décimales à virgule fixe : exactement comme les entiers à virgule fixe

image-20230523212547276


1.7.2 Addition et soustraction de décimales à virgule fixe

Addition et soustraction de décimales à virgule fixe : exactement comme les nombres entiers à virgule fixe

image-20230523212636787


1.7.3. Comparaison entre les nombres entiers à virgule fixe et les décimaux à virgule fixe (étendue légale, position d'expansion des chiffres)

Portée juridique :

image-20230524094954096

La position de l'extension du chiffre est différente : la décimale est directement étendue jusqu'à la fin, et l'entier est étendu jusqu'au bit de signe

image-20230524095150374


1.7.4 Addition et soustraction du complément décimal

Ajout

image-20230524095518336

image-20230524095553723

Soustraction

Soustraction en complément fractionnaire : compatible avec l'entier précédent

image-20230524095648386


2. Méthode de fonctionnement et circuit de fonctionnement

2.1 Composants informatiques de base

image-20230524110653474

Comment utiliser le matériel pour implémenter l'addition est une question importante à discuter !


2.1.1. Connaître l'unité logique arithmétique ALU (y compris les composants et les instances ALU)

alu :

image-20230524111131855

Composants du signal de commande ALU :

image-20230524111738549

  • Parmi eux, Ai et Bi représentent le signal d'entrée, et le Fi correspondant est le signal de sortie.
  • L'unité de contrôle est responsable de l'analyse de la signification des instructions. Qu'une instruction soit une addition, une soustraction ou une autre instruction d'opération logique, le CU enverra des signaux de commande après avoir analysé l'instruction, et chaque signal est un niveau haut ou bas.

Voici un exemple d'ALU : ALU 4 bits pour le 74181

image-20230524112929075

①M = 1 signifie une opération logique (si 0 signifie une opération arithmétique), les autres s0-s3 signifient une opération d'instruction correspondante, 4 peut représenter 16 types.

  • Cette puce peut prendre en charge 16 types d'opérations logiques et 16 types d'opérations arithmétiques.

②A et B indiquent que des données 4 bits peuvent être entrées, puis l'ALU produira également une sortie 4 bits Fi après addition, soustraction, multiplication et division.

③La longueur de mot de la machine se réfère en fait aux informations (essence) du nombre de bits pouvant être entrés en même temps dans l'ALU.

④ Le nombre de chiffres du registre X dans l'unité arithmétique correspondante est généralement cohérent avec le nombre de chiffres du registre dans l'ALU.

⑤Les signaux d'entrée et de sortie de cette pièce sont en fait conçus pour être connectés en série avec d'autres puces, et les fonctions spécifiques ne seront pas étudiées pour le moment.


2.1.2 Connaissances de base des circuits

2.1.2.1, opération logique

L'opération logique la plus élémentaire : Peu importe l'opération arithmétique complexe ou l'opération logique, elle est réalisée par l'opération logique la plus élémentaire (1 bit)

image-20230524113825818

  • Opérations logiques (essentiellement niveaux haut et bas) mises en œuvre à l'aide de circuits de porte

Grâce à différentes lois associatives, nous pouvons utiliser différents nombres de composants de circuit pour obtenir :

image-20230524114421747

  • S'il apparaît en même temps que logique et/ou logique, alors il est déterminé qui exécute en premier selon la priorité.
  • On peut voir que A(C+D) sur la gauche n'a besoin d'utiliser que deux composants, tandis que AC+AD sur la droite en a besoin de trois. Ensuite, à travers cet exemple, on voit clairement que l'expression logique simplifiée peut être Réduire l'utilisation de composants électriques, réalisant ainsi des économies de coûts.

2.1.2.2, opération logique composée

image-20230524115104454

Parmi eux, la logique naturelle XOR peut réaliser des additions et des contrôles de parité.


2.1.3. Application pratique du circuit de porte XOR

2.1.3.1. Exemple de circuit de porte réalisant une parité paire

Test pair : il y a un nombre pair de 1

  • XORing un nombre pair de 1 donne 0. Effectuez XOR sur un nombre impair de 1 et le résultat XOR final est 1.

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leeching, il est recommandé de sauvegarder l'image et de la télécharger directement (img-tzIYRMi3-1685321272458) (C:\Users\93997\AppData\Roaming\Typora\ typora-user-images\image-20230524115445312.png)]

Comment y parvenir avec un circuit ? Un exemple de circuit de porte pour trouver un bit de parité paire.

image-20230524115655222


2.1.3.2, porte XOR pour réaliser l'opération d'addition (additionneur complet d'un bit)

Comment la porte XOR implémente-t-elle l'opération d'addition ? Un additionneur complet.

Grâce à l'entrée Ai, Bi et à la retenue Ci-1 du bit bas vers la sortie Si et Ci, nous pouvons utiliser XOR pour réaliser ce processus.

image-20230524120729749


2.1.3.3. L'addition multi-bits est réalisée via un additionneur complet (additionneur série, additionneur parallèle)

Le premier type: additionneur série

Processus de mise en œuvre : saisissez Ai et Bi, puis lisez la dernière valeur de report, effectuez une opération d'addition d'un bit, et la valeur de report Ci obtenue sera enregistrée dans la bascule de report, puis elle pourra être lue lorsque le bit l'additionneur est exécuté à nouveau Effectuez les calculs.

image-20230524121051957

Le deuxième type: additionneur parallèle

Ce n'est que lorsque ceux d'ordre inférieur sont calculés que ceux d'ordre supérieur peuvent être calculés :

image-20230524121535068

La vitesse de fonctionnement dépend de la vitesse du report précédent.


Examen et résumé des points de connaissance

image-20230524121752790


2.2. Compréhension approfondie de l'optimisation des additionneurs parallèles (le point décisif pour réaliser le parallélisme)

Sur la base de l'additionneur à un bit précédent, la question à discuter à ce stade est de savoir comment générer un report plus rapidement ? ,

L'expansion de la formule originale pour calculer Ci peut être vue dans la figure ci-dessous. Chaque Ci dépendra du précédent Ci-1, alors pouvons-nous utiliser certaines méthodes pour calculer chaque Ci sans utiliser le précédent Ci ?

  • Cela passe par l'optimisation de l'additionneur parallèle, on laisse Gi = AiBi, Pi = Ai XOR Bi.

image-20230524144557231

Puis ramenez-le dans la formule de Ci. Par exemple, nous substituons C 1 =G 1 +P 1 C 0 dans C 2 , et nous pouvons voir la formule de C 2 :image-20230524145103633

Nous pouvons être surpris de constater que C2 ne repose que sur le C 0 le plus original à ce moment , alors comment peut-il être introduit dans d'autres C i de cette manière ? Aussi chaque nouveau Ci ne dépend que du C 0 le plus original , à quoi cela sert-il ?

  • Nous imaginons que nous ne pouvons plus compter sur l'ordre de série précédent pour le calcul de Ci, mais pouvons calculer plusieurs Ci en même temps grâce au parallélisme, jusqu'à ce que le calcul final de tous les Ci soit terminé, puis nous pouvons le traiter uniformément à ce temps.

image-20230524144700001

La composition finale est l'additionneur CLA 4 bits dans la figure ci-dessus, dont la plupart sont composés de FA et de nouveaux circuits et logique de fonctionnement.

On peut donc résumer l'optimisation de l'additionneur parallèle : A l'origine, Ci semble dépendre du précédent, qui est Ci-1, au début quand la formule n'est pas complètement affichée. En fait, après on développe, chaque C i en fait ne dépend que de C 0 , alors le calcul de C i n'a pas besoin de suivre l'ordre sériel et la technologie parallèle peut être utilisée pour le calcul, jusqu'à ce que tous les calculs de C i soient terminés et que le processus de calcul soit effectué de manière uniforme.


2.3 Opérateur d'addition et de soustraction de code complémentaire

2.3.1. Principe de l'additionneur

L'additionneur comprend principalement les deux extrémités d'entrée inférieures de la somme A et de la somme B, le côté droit est le report de bit bas, le côté gauche est le report de bit le plus élevé et le côté supérieur est le résultat de l'addition :

image-20230524150811161


2.3.2, Réalisation du circuit matériel d'addition et de soustraction de code complémentaire

① Méthode de calcul manuel de l'addition et de la soustraction du complément

Exemple 1 ci-dessous : Le résultat du calcul de XY est -15, ce qui est en fait inférieur à la valeur minimale et dépasse

image-20230524151238582


② Ajout de code complémentaire et implémentation matérielle de soustraction (le problème de débordement doit être déterminé par des bits d'indicateur)

Idée d'implémentation matérielle (pas de bit d'indicateur)

L'additionneur ci-dessous n'est pas seulement utile pour l'addition et la soustraction de complément, mais aussi pour l'addition et la soustraction non signées !

La mise en œuvre des opérations d'addition et de soustraction de complément dans la machine, ce qui suit est également améliorée dans l'additionneur introduit précédemment :

L'opération d'addition est la suivante , car c'est +, alors la soustraction à droite est 0, et la soustraction de l'entrée Y est directement transmise à l'additionneur pour participer à l'opération car le signal de commande est 0, à ce moment, Cin=0 sur le côté droit de l'additionneur, Enfin, A, B et Cin seront additionnés :

image-20230524154706007

Si une soustraction est effectuée , l'idée du calcul manuel est d'inverser tous les bits de B+1, comment le réaliser dans l'additionneur à ce moment ?

Parce qu'il s'agit d'une soustraction, le signal de contrôle Sub est 1 à ce moment, puis lorsque l'entrée Y entre, il prendra le chemin de 1, et tous les bits seront inversés puis passés à l'additionneur. La valeur d'entrée est 1 , il est donc cohérent avec notre idée de calcul manuel, sauf que ce 1 est transmis par Cin :

image-20230524155034575

Les règles logiques ci-dessus sont les suivantes :

image-20230526105932746

Mais il y a encore un problème à ce moment, alors comment juger de la situation de débordement dans le processus d'addition et de soustraction ? Nous donnons des exemples pour les nombres non signés et signés respectivement :

Exemples de numéros signés :

image-20230524160318182

Exemples de numéros non signés :

image-20230524160351064

Exemples de situations de débordement :

无符号数 X=3,Y=4
用4bit表示,X=0011B,Y=0100B
X-Y=0011 + (1011+1) = 1111B=15D ×
解释:实际最终求得的值为-1,而通过目前加法器流程可直接得到15是有问题的

有符号数举例:
4bit补码,X=-8,Y=7
X补 = 1000,Y补=0111
X-Y=1000 + (1000 + 1) = 10001 = 1D
解释:实际最终求得的值为-15,表示数的只有3位,直接溢出了

Pour la situation de débordement ci-dessus, comment la machine en tant que matériel juge-t-elle ? Voici le drapeau que nous voulons introduire.


③Génération de bits de drapeau (signification et explication détaillée de l'exemple)

Les quatre drapeaux sont encerclés comme suit :

image-20230526113206945

image-20230526113114899

Quatre drapeaux :

  • Drapeau OF (Overflow Flag overflow flag): Il s'agit de la valeur de résultat XOR du bit le plus élevé et du deuxième bit le plus élevé. Si OF vaut 1, cela signifie un débordement, et s'il vaut 0, cela signifie qu'il n'y a pas de débordement. N'a rien à voir avec le bit non signé.
  • Drapeau SF (Sign Flag) : mis à 1 lorsque le résultat est négatif, sinon mis à 0. N'a rien à voir avec le bit non signé.
  • ZF flag (Zero Flag zero flag) : le résultat de l'opération est mis à 0, sinon mis à 0.
  • Drapeau CF (Carry Flag carry/borrow flag) : mis à 1 lorsqu'un report/emprunt se produit, sinon mis à 0 [CF= C out ^ Sub , où la valeur de C out est la valeur de report la plus élevée, Sub fait référence à l'addition ou soustraction , l'addition est 0, la soustraction est 1], si le CF final est 1, cela signifie un débordement. N'a aucune signification avec des nombres signés.

Expliquez un par un selon les drapeaux ci-dessus :

①Exemple : pour les nombres signés, la case jaune ci-dessous est le bit le plus élevé et le deuxième bit le plus élevé

Pas de condition de débordement :

image-20230526111120497

Il y a une condition de débordement :

image-20230526111318394

②Exemple : pour les numéros signés

Nous pouvons obtenir le drapeau SF dans le cercle violet ci-dessous. Si c'est 1, cela signifie un nombre négatif et SF est défini sur 1. Si c'est 0, cela signifie un nombre positif et SF est défini sur 0 :

image-20230526111604387

③Exemple : Si les n nombres du résultat final sont tous 0, réglez-le sur 1, sinon réglez-le sur 0.

④Exemple : pour les numéros non signés

Il s'agit de juger si le débordement est obtenu en effectuant un XOR sur la valeur obtenue en prenant le bit le plus élevé et si l'opération d'addition ou de soustraction en cours est effectuée (l'addition vaut 0, la soustraction vaut 1). Si c'est 1, cela signifie un débordement, et si c'est 0, cela signifie qu'il n'y a pas de débordement.

image-20230526113004779


2.4 Opérations de décalage des nombres à virgule fixe

2.4.1, décalage arithmétique

2.4.1.1 Comprendre le décalage arithmétique

Les opérations de multiplication et de division peuvent être mises en œuvre par décalage arithmétique :

image-20230526140217701


2.4.1.2 Décalage arithmétique vers la droite et vers la gauche des nombres entiers et décimaux à virgule fixe (code d'origine)

Entier à virgule fixe

Décalage arithmétique à droite (mise en œuvre de la division) : ① Lorsque 2 bits sont décalés, nous pouvons omettre le 1 bit décalé ; ② Lorsque 3 bits sont décalés, en raison de la plage limitée, nous devons omettre le 1 décalé, et la précision sera perdue à ce moment.

image-20230526140757788

Décalage arithmétique vers la gauche (implémenter la multiplication) : ① Lors du décalage vers la gauche de 2 bits, puisque la multiplication par 2 est de 160, ce qui dépasse le nombre maximum de 127 dans la plage d'origine, une erreur de calcul se produira à ce moment, et le premier 1 est effectivement enregistré. ②Le préfixe 1 est à nouveau omis lors du décalage vers la gauche de 3 bits, ce qui est -32 à ce moment.

image-20230526141123398

Décimal à virgule fixe

Décimales à virgule fixe : les décalages arithmétiques sont cohérents avec les nombres entiers à virgule fixe

image-20230526142527996


2.4.1.3, décalage arithmétique (code complémentaire)

image-20230526143100428


2.4.1.4. Résumé simplifié du décalage arithmétique (original, inverse, complément)

image-20230526143227853


2.4.1.5, l'application du décalage arithmétique

En effectuant l'opération de décalage à gauche, nous pouvons réaliser la multiplication, comme suit : nous pouvons diviser le multiplicateur 7 en une forme de multiplication de 2. Après la scission, nous pouvons en fait le voir comme plusieurs opérations de décalage à gauche et enfin les additionner pour trouver obtenir la valeur du produit final

image-20230526143401744


2.4.2, décalage logique

2.4.2.1 Comprendre le décalage logique

image-20230526143555105


2.4.2.2, l'application du décalage logique

Pour utiliser trois octets pour stocker les valeurs RVB, vous pouvez déplacer les 8 bits supérieurs, les 8 bits du milieu et les 8 bits inférieurs en effectuant un décalage logique vers la gauche, et enfin les ajouter pour obtenir un RVB complet.

image-20230526143903285


2.4.3 Changement cyclique (y compris introduction et application)

Décalage circulaire : le nombre décalé vers la gauche et le décalage vers la droite sera ajouté à la fin de l'original, pour obtenir l'effet de cycle

image-20230526144558460

Application pratique : Les décalages de rotation peuvent être utilisés en encodant les transitions d'état d'un glyphe du gros boutien au petit boutien.


Revue générale des points de connaissance

image-20230526144533158


2.5. Opération de multiplication

2.5.1 Multiplication décimale et binaire manuelle

image-20230526145438057

Faire une multiplication décimale à la main :

image-20230526145540767

Multiplication binaire à la main :

image-20230526145913456


2.5.2 Multiplication d'un bit dans le code d'origine

2.5.2.1, la machine matérielle réalise la multiplication sur un bit du code d'origine (détails)

La machine matérielle réalise la multiplication sur un bit du code d'origine :

image-20230526150224781

Initialement, le registre ACC sera effacé :

image-20230526151258730

Après effacement, le dernier bit de MQ commence à participer à l'opération, et le dernier bit est 1, 1 * 0,1101, et l'addition est effectuée à ce moment :

00000 + 01101 = 01101

image-20230526151404689

À ce stade, le décalage logique vers la droite commence : dans cette étape, nous supprimons en fait le dernier bit qui a participé au MQ, car ce bit a déjà été utilisé, il peut donc être omis directement, et laissons le premier bit de ACC être rempli avec 0, ce qui est pratique pour ajouter ultérieurement de nouvelles données

image-20230526151656708

À ce stade, l'opération que nous avons terminée peut être illustrée dans la figure suivante : c'est-à-dire le produit obtenu, puis un 0 est ajouté, ce qui est pratique pour la multiplication et l'addition de décalages arithmétiques ultérieurs.

image-20230526151801962

À ce moment, le dernier bit de MQ est toujours 1, puis l'opération de multiplication est effectuée et l'opération d'addition est effectuée à nouveau. Une fois l'opération d'addition terminée, nous effectuons un décalage logique vers la droite :

Opération d'addition :

image-20230526151943055

Décalage logique vers la droite :

image-20230526152035136

Le processus suivant est le même que ci-dessus, et le produit des nombres restants est effectué...

Enfin, le 01011 dans le MQ est multiplié puis accumulé dans l'ACC pour compléter la valeur du produit final :

image-20230526152202260


2.5.2.2, multiplication de code original de simulation de calcul manuel

Simulation de calcul manuel : en fait, notre calcul manuel consiste à simuler le calcul du matériel de la machine. Le processus détaillé est illustré ci-dessous.

1. Obtenez les valeurs absolues de x et y, et l'ACC initial commence à partir de 0.

2. Utilisez le dernier bit de MQ pour multiplier le multiplicande et ajouter ACC, et enfin effectuez une opération logique de décalage vers la droite pour terminer un tour de multiplication.

3. Enfin, une fois la multiplication et l'accumulation de chaque nombre de MQ terminées, nous utilisons le multiplicateur et la valeur de symbole du multiplicande pour effectuer XOR afin de déterminer le bit d'indicateur de la multiplication.

Voici un exemple de multiplication décimale, et c'est similaire pour la multiplication d'entiers :

image-20230526152337140


2.5.3, multiplication du complément à un

En comparant avec le code d'origine, la multiplication d'un bit est calculée :

image-20230526155010016


2.5.3.1, la machine matérielle réalise sa multiplication complémentaire sur un bit

Opération d'implémentation matérielle : pour MQ, un bit supplémentaire est ajouté pour stocker des bits auxiliaires, et le MQ réel a un total de n+2 bits

image-20230526155717342

Dans ce cas, étant donné que MQ ajoute un bit supplémentaire, un bit sera ajouté à ACC et X à ce moment, et le bit supplémentaire à ce moment est calculé à l'aide de bits à double signe :

image-20230526155731011

Dans ce processus, chaque addition peut être +[x] complément , +[-x] complément , ce complément [-x] aura un circuit auxiliaire pour nous donner une conversion rapide, puis l'envoyer à l'ALU après avoir été traité par le circuit auxiliaire !


2.5.3.2, Calcul manuel de la multiplication du complément analogique

Le processus de mise en œuvre de la simulation de calcul manuel :

1. L'ACC initial commence à partir de 0, le bit de signe participe directement à l'opération et un bit supplémentaire est ajouté à l'ACC.

2. En comparant Y i - Y i-1 pour déterminer +[x] complément , 0, +[-x] complément pour ajouter ACC, et enfin effectuer un décalage arithmétique à droite pour terminer un tour de multiplication, un total de n+1 roue.

3. La valeur finale obtenue est la valeur finale du résultat de la multiplication complémentaire.

image-20230526160458535


Examen des points de connaissance

image-20230526160826148


image-20230526161614585

La multiplication et le diviseur d'un bit obtenus à chaque fois est la valeur la plus proche du dividende actuel :

image-20230526162046803

Division binaire calculée à la main : chaque bit est soit 0 soit 1, et il est constamment reconstitué

image-20230526162602569

image-20230526162758531

2.6, opération de division

2.6.1, calcul de division de code d'origine (restauration de la méthode du reste et de la méthode alternative d'addition et de soustraction)

2.6.1.1, simulation matérielle de la machine pour réaliser la division de code d'origine (restauration de la méthode des restes et méthode alternative d'addition et de soustraction)

Mise en œuvre matérielle de la machine :

image-20230526164502450

La chambre de commerce est d'abord initialisée :

image-20230526165523006

Ensuite, pour la méthode du reste de récupération, l'ordinateur dirigera directement le quotient à 1 par défaut, et si la terminaison obtenue est négative, il changera le quotient à 0 :

image-20230526164651177

Après que le quotient 1 s'est avéré négatif, le résultat a été remplacé par 0 et le résultat est le suivant :

image-20230526170012864

À ce moment, ACC et MQ effectueront un décalage à gauche logique unifié :

image-20230526170141498

Il en est de même pour les étapes suivantes, et finalement le résultat final peut être obtenu :

image-20230526170412264

Le bit de signe est obtenu selon le OU exclusif des bits de signe du dividende et du reste.

image-20230526180558542


2.6.1.2, division manuelle du code d'origine (méthode de restauration des restes)

La simulation de calcul manuel rétablit la méthode du reste : au début, le quotient direct est 1, si le résultat est négatif, cela signifie que le quotient est faux et passe à 0, et les étapes suivantes se basent sur la première valeur de résultat à effectuer + [y] complément, + [ -y] maquillage .

Vous pouvez voir que le quotient direct est pour la première fois 1. Après avoir obtenu un nombre négatif, nous le modifions en quotient 0. À ce stade, nous devons recalculer comme suit :

image-20230526170541294

  • En fait, les deux derniers décalages vers la gauche dans la figure ci-dessus sont dus au fait que le quotient direct 1 obtient un nombre négatif, il n'est donc pas nécessaire de le restaurer. Vous devez faire attention à ce point !

2.6.1.3. L'optimisation de la méthode du reste de restauration adopte la méthode alternative d'addition et de soustraction (également connue sous le nom de méthode du reste de non-récupération)

** Existe-t-il un point d'optimisation pour la méthode du reste de récupération ? **Par exemple : si le reste est négatif, vous pouvez directement quotient 0, et décaler le reste vers la gauche de 1 bit et ajouter |diviseur|.

  • Dans ce processus, le reste n'est pas restauré, mais passe directement à l'étape suivante. La division de code originale basée sur cette idée est appelée la méthode d'alternance d'addition et de soustraction (la méthode de non restauration du reste).

image-20230526172626913

Extras :

image-20230526173616691

Remarque : Si vous utilisez la méthode alternative d'addition et de soustraction, vous devez additionner et soustraire n+1 fois, et décaler vers la gauche n fois. Si le reste final est négatif, vous avez besoin que le quotient soit 0, et +[|y |] complément pour obtenir le reste correct .


Description détaillée des problèmes décimaux à virgule fixe (le dividende doit être < au diviseur)

Dans l'opération de division des décimales à virgule fixe, le quotient final obtenu ne peut être qu'une décimale à virgule fixe, et non un entier. Par conséquent, dans l'opération de division des nombres à virgule fixe, nous stipulerons que le dividende doit être inférieur au diviseur. Si le dividende est supérieur au diviseur, le résultat final du quotient doit être supérieur à 1, et la décimale à virgule fixe ne peut pas être supérieur à 1. Comment vérifier la relation entre le dividende et le diviseur pour le matériel ?

  • Il est principalement déterminé par le quotient de la première étape. Si la valeur obtenue par le premier complément +[-|y|] est un nombre positif, cela signifie que le dividende est > le diviseur. A ce moment, le circuit matériel arrêter directement l'opération. Ce type de division ne peut pas être exprimé à l'aide de décimales à virgule fixe.
  • S'il s'agit d'un nombre négatif, cela signifie qu'il est normal, et à ce moment, cela signifie 0 pour continuer à exécuter.

image-20230526174011169


2.6.2 Calcul de la division complémentaire (méthode alternative d'addition et de soustraction)

Pour les détails de la division du complément, voir le côté droit ci-dessous, y compris les détails de la division du complément et sur l'addition et la soustraction initiales et la situation du quotient 0/1 dans le processus :

image-20230526195355324

A noter :

1. La méthode alternative d'addition et de soustraction de la division du code de complément est quelque peu différente du code d'origine. L' addition et la soustraction initiales sont basées sur le fait que le dividende et le diviseur sont du même signe. Pour le quotient 1 ou le quotient 0, il est basé sur le reste et le diviseur (ici le diviseur fait référence au titre original. diviseur du , pas le diviseur dans la procédure).

image-20230526195832813

2. Une fois le dernier ajout de décalage vers la gauche terminé, le quotient unifié à la fin est toujours défini sur 1 . Le but de cela est d'éviter les ennuis et l'erreur de précision ne dépasse pas 2 -n .


La différence entre la méthode alternative d'addition et de soustraction de code d'origine et la méthode alternative d'addition et de soustraction

image-20230526200155321


2.7, conversion de type de langage C

Pour int, short et long sont stockés sous forme de complément, l'utilisation de non signé signifie qu'il s'agit d'un nombre non signé.

image-20230526202628843

①Court à court non signé (le nombre non signé à signé est du même type) : c'est-à-dire que le premier bit au début sera considéré comme un bit de signe, mais après conversion en non signé, le premier bit ne sera pas considéré comme un bit de signe

image-20230526201358030

②int to short : c'est-à-dire 4 octets à 2 octets, le bit de poids fort est tronqué et le bit de poids faible est réservé

image-20230526201719108

③short to int : 2 octets à 4 octets

Remarque : Pour le complément d'entier à virgule fixe, s'il s'agit d'un nombre négatif, tous les bits de poids fort sont remplis de 1, et s'il s'agit d'un entier, tous les bits de poids fort sont remplis de 0.

image-20230526202124005

④Unsigned short à unsigned int : 2 octets à 4 octets

Remarque : Il peut y avoir ici une comparaison avec ③. S'il s'agit d'un nombre positif et que son bit de signe est 0, alors le bit haut est également rempli avec 0.

image-20230526202533392


2.8 Stockage et organisation des données

2.8.1, mode gros et petit endian

Pour le mode big et small endian, l'ordre de stockage de plusieurs contenus de mots est en fait différent :

image-20230527083210646

  • Mode big-endian : 4 octets sont stockés dans les adresses mémoire dans la séquence spécifiée d'avant en arrière.
  • Mode Little-endian : 4 octets sont stockés dans les adresses mémoire dans l'ordre spécifié de l'arrière vers l'avant.

Pourquoi le stockage little-endian est-il plus adapté au traitement automatique ?

  • Par exemple, lors de l'exécution d'une opération d'addition, l'opération est généralement effectuée à partir du bit bas, tandis que la méthode de stockage du mode petit endian est stockée du bit bas au bit haut, et la lecture est effectuée dans l'ordre croissant de la mémoire. , il est donc en ligne avec le stockage informatique.

2.8.2 Comprendre l'adressage des ordinateurs

image-20230527084837620

En supposant que la longueur du mot de stockage est de 32 bits, un mot est de 32 bits et un demi-mot est de 16 bits. Chaque accès mémoire peut lire/écrire un mot, qui est une grande partie des 32 bits encerclés ci-dessous. L'ordinateur utilise un octet à adresser :

image-20230527085012925

Si l'adressage est basé sur des octets, permettez-moi de vous dire d'adresser en fonction du mot spécifié, nous pouvons convertir le mot en un octet, puis déterminer l'emplacement spécifique : par exemple, la longueur du mot stocké est de 32 bits, et le mot est de 32 bits à ce moment, et l'octet Il est de 8 bits, laissez-vous trouver le mot numéro 2, nous convertissons d'abord 2 en bit binaire 10, puis décalons logiquement vers la gauche de 2 bits pour obtenir 1000, ce qui équivaut à * 4 à ce moment, afin de déterminer la position exacte de l'adresse.

image-20230527084710922


2.8.3 Alignement des limites et désalignement des limites Alignement des limites

Maintenant, il y a un scénario : nous écrivons 3 octets en séquence, puis écrivons des demi-mots 3. Dans ce cas, l'utilisation de l'alignement ou du désalignement des limites affectera notre méthode de stockage réelle .

L'alignement des limites est indiqué dans le tableau ci-dessous :

  • Étant donné que la longueur d'un mot est de 32 bits, une ligne peut stocker 4 octets à ce moment. Selon le scénario ci-dessus, après avoir écrit 3 octets en séquence, nous devons écrire un demi-mot. À ce moment, il n'y a qu'un seul gauche dans la ligne restante. octet, puisque nous utilisons l'alignement des limites, ce demi-mot sera écrit dans la ligne suivante.

image-20230527085835860

Le désalignement des limites est indiqué dans le tableau ci-dessous :

  • Étant donné que la longueur d'un mot est de 32 bits, une ligne peut stocker 4 octets à ce moment. Selon le scénario ci-dessus, après avoir écrit 3 octets en séquence, nous devons écrire un demi-mot. À ce moment, il n'y a qu'un seul gauche dans la ligne restante. Octet, parce que nous utilisons la méthode de désalignement des limites, il continuera à être stocké dans cette ligne jusqu'à ce qu'elle soit pleine. À ce moment, les 8 derniers bits de cette ligne stockent un demi-mot.

image-20230527085923121

Pourquoi y a-t-il deux façons de le stocker ? la différence

  • L'alignement des frontières est adopté: l'espace est échangé contre le temps.Si le premier mot ci-dessus est lu, il n'est nécessaire d'y accéder qu'une seule fois et la deuxième ligne est lue directement.
  • Le désalignement des limites est utilisé : l'espace de stockage peut être utilisé efficacement sans gaspillage, mais lorsque nous voulons lire un mot spécifié, car un mot est divisé en deux parties, une partie est stockée dans la première ligne et l'autre partie est stockée dans le deuxième ligne , alors puisque nous lisons/écrivons un mot à la fois, deux accès mémoire sont nécessaires à ce moment, et la surcharge de temps devient plus grande.

3. Représentation et fonctionnement des nombres à virgule flottante

Les limitations des nombres à virgule flottante sont les suivantes :

image-20230527145125675

Reconnaître la notation scientifique décimale :

image-20230527145432216


3.1, représentation des nombres à virgule flottante

3.1.1 Comprendre la représentation des nombres à virgule flottante

Le principe des nombres binaires à virgule flottante :

image-20230527154004684

Pour la signification du code exposant et de la mantisse :

image-20230527154111780

Cas pratique : Trouver la valeur de vérité de a et b selon la mantisse du code exposant donné.

Exemple 1:

image-20230527154741381

Si 1B est utilisé pour stocker la vraie valeur de a à la fin, elle peut être exprimée correctement, le code de commande est 001, la mantisse est 11001 et la combinaison est exactement de 8 bits.


3.1.2 Normalisation et exemples de nombres à virgule flottante

Exemple 2 : conduire à la normalisation de la mantisse d'un nombre à virgule flottante

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme de lien antivol, il est recommandé d'enregistrer l'image et de la télécharger directement (img-FYGoQiAf-1685321272499)(https://pictured-bed.oss-cn- beijing.aliyuncs.com/img/2023/1/image-20230527155226344.png)]

Introduire la normalisation de la notation scientifique décimale :

image-20230527155430033

  • Il existe deux façons de représenter un chiffre décimal, et la représentation finale devrait être +3,026, bien que l'autre 0,003 puisse également être représenté, mais il perd en précision.
  • La notation scientifique stipule que le bit le plus élevé est une valeur effective et ne peut pas être 0. Lorsque la mantisse est de même longueur, il est stipulé que le bit le plus élevé de la mantisse ne peut pas être 0 autant que possible.

Revenez ensuite à l'exemple 2 : nous pouvons décaler la mantisse vers la gauche d'un bit, et à ce moment, un bit doit être soustrait de l'exposant. Le but est de conserver le plus de précision possible

image-20230527160141573

Normalisation de la mantisse des nombres à virgule flottante : comprendre les règles gauche et droite

image-20230527160242745

  • Il est nécessaire de déterminer quand utiliser la jauge gauche et la jauge droite. Lors de la dénormalisation, un décalage arithmétique vers la gauche est requis et un décalage arithmétique vers la droite est effectué en cas de débordement.

Exemple de planification :

image-20230527160642414

Le bit de signe de la mantisse est 01. A ce moment, la situation de débordement peut être sauvée en utilisant la bonne règle.


3.1.3 Caractéristiques des nombres à virgule flottante normalisés

Les caractéristiques des nombres à virgule flottante normalisés : code original, code complément

image-20230527161446983

Remarque : Les nombres négatifs avec des codes complémentaires indiquent que la mantisse doit être normalisée sous la forme 1.01xxxx.

Exemple : 1,1110100 indiqué dans la figure ci-dessous n'est pas une exigence de normalisation, car il s'agit d'un complément négatif et doit être sous la forme de 1,01xxxx. Un décalage arithmétique vers la gauche est donc nécessaire à ce stade.

image-20230527161933103


3.1.4, la plage des nombres à virgule flottante

Comme le montre la figure ci-dessous : s'il est inférieur à 0,00001, il peut être exprimé en tant que sous-dépassement positif à ce moment ; et pour un sous-dépassement négatif, il peut être exprimé si la valeur absolue a dépassé la plage minimale.

image-20230527162642815

image-20230527162448279


Examen des points de connaissance

image-20230527162708514


3.2, IEEE 754 (norme à virgule flottante)

3.2.1 Représentation et définition du décalage de trame dans IEEE 754

Le code intermédiaire IEEE 754 est exprimé par un code de décalage :

image-20230527182637986

  • Notez que le décalage de cadre ne peut être utilisé que pour représenter des nombres entiers, ce qui est l'une des raisons pour lesquelles le code de commande est représenté par le décalage de cadre.

3.2.2. Définition du décalage de trame (par exemple, lorsque la valeur de décalage est de 128 et 127)

La définition la plus originale du décalage de trame : décalage de trame = valeur vraie + décalage (la valeur vraie ici fait référence à la valeur du code d'origine)

Les mantisses dans les exemples suivants sont exprimées en notation complément à deux :

①Le cas où la valeur de décalage est de 128D

Ici, nous donnons un ensemble de valeurs de vérité, de code complémentaire et de décalage de trame. Le décalage de trame dans le tableau peut être obtenu par notre formule ci-dessus :

image-20230527183110631

image-20230527200332709

②Le cas où la valeur de décalage est de 127D

Lorsque la valeur de décalage est 127D, l'extrême droite dans le tableau de gauche est le décalage de trame correspondant à la valeur vraie. Essayons d'abord de calculer le premier décalage de trame de -128. Vous pouvez voir qu'il s'agit d'un calcul de soustraction, la soustraction <subtrahend , à ce stade, nous pouvons ajouter un bit de plus

image-20230527201514306

  • Dans ce cas, la valeur de décalage de cadre est celle indiquée dans le didacticiel ci-dessus, sauf que le premier nombre est 255 et les suivants sont 1-254.

image-20230527201352518


3.2.3, représentation en virgule flottante standard IEEE 754

Ici, le code exposant adopte le décalage de code et la mantisse est représentée par le code complément .

image-20230527202444221

  • Car la valeur de la mantisse dans float est de 23 bits, elle fait en fait référence à M dans 1.M, et ce 1 est là par défaut.

image-20230527205115575

Prenons float comme exemple :

①La plage de valeurs réelles de son code de commande est -126-127, qui est déterminée en fonction de la valeur de décalage. Les deux manquants sont -128 pour tous les 1 et -127 pour tous les 0. Ces deux états seront utilisés comme traitement spécial.

image-20230527202915788

  • Vous pouvez regarder les première et deuxième lignes de la dernière colonne de la figure précédente, toutes 1 ou toutes 0.

image-20230527202745050

  • Comment calculer la valeur de décalage de la décimale flottante ? 2 8 - 1 - 1 = 127.

Examinons un cas de normalisation d'un nombre à virgule flottante pour trouver la valeur de vérité :

image-20230527204429241

②type double :

image-20230527205042322


3.2.4 Calcul du cas réel (exemple de conversion mutuelle entre valeur vraie et nombre à virgule flottante simple précision)

1. Étant donné la valeur vraie, vous permet de trouver la représentation du format de nombre à virgule flottante simple précision

image-20230527210157889

  • Étant donné que IEEE 754 implique 1. pour la partie entière de la mantisse, il doit être converti ici en 1.xxxx.

2. Étant donné un format de nombre à virgule flottante simple précision, vous permet de trouver la vraie valeur

image-20230527210234372


3.2.5, type à virgule flottante simple précision IEEE 754 avec différents codes de commande et mantisses (valeur maximale, valeur minimale)

Quelle est la valeur absolue minimale et la valeur absolue maximale que le type à virgule flottante simple précision IEEE 754 peut représenter ?

Voici les valeurs obtenues dans différents cas de divers codes d'exposants et mantisses :

image-20230527211811376


Résumé de l'examen des points de connaissance

image-20230527212204697


3.3 Calcul des nombres à virgule flottante

image-20230528114457763

3.3.1 Addition et soustraction de nombres à virgule flottante

Prenons le système décimal comme exemple et les étapes sont les suivantes :

① Marches assorties : les petites marches sont alignées avec les grandes marches.

  • S'il n'est pas aligné avec le grand ordre, alors la valeur de la mantisse sera très grande, et chaque gros bit occupera une position de plus, par exemple, l'original 0,9854 x 10 5 , si l'ordre devient plus petit , il sera 985,4 x 10 2 , à ce stade, vous pouvez voir qu'il y a trois autres chiffres dans la mantisse, mais que se passe-t-il si c'est uniquement dans l'ordre ?
    • Voici le code d'origine : à l'origine, 5 est 101, et maintenant c'est 2 et c'est seulement 10. À ce moment-là, un chiffre de moins est échangé contre trois chiffres de plus, ce qui n'est certainement pas bon. C'est aussi l'une des raisons pour lesquelles ce qui précède ne correspond pas aux grandes étapes.
    • Il est également pratique pour l'ordinateur de traiter la mantisse.

②Mantisse addition et soustraction

③Normalisation : Assurez-vous que le premier chiffre numérique de la mantisse a un chiffre valide.

④ Arrondi : les bits de la mantisse sont limités, et l'addition, la soustraction et la troncature de la mantisse peuvent être trop longues, un arrondi est donc nécessaire. Il existe différentes stratégies d'arrondi.

⑤ Jugement de débordement : si le code de pas dépasse la plage spécifiée, il débordera.

image-20230528115902885

Remarque : Si le débordement est jugé à l'étape ⑤, nous pouvons l'enregistrer à l'étape ③④.


3.3.2 Cas pratiques d'addition et de soustraction de nombres à virgule flottante

Cas réels d'addition et de soustraction de nombres à virgule flottante :

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leeching, il est recommandé d'enregistrer l'image et de la télécharger directement (img-oII0VATH-1685321272510)(https://pictured-bed.oss-cn-beijing .aliyuncs.com/img/2023/1/%E6%97%A0%E6%A0%87%E9%A2%98.png)]


3.3.3, situation d'arrondi

Deux modes de saisie :

① 0 méthode d'arrondi

image-20230528142127775

L'exemple est le suivant : Pour l'exemple suivant, c'est +1 à la fin, qui est 01 à l'origine, et 10 après +1

image-20230528142259683

②Méthode de réglage constant 1

image-20230528142144977

image-20230528142727448

Notez les points suivants :

image-20230528142752128


3.3.4. Problème de conversion de type obligatoire

La plupart des examens sont en 32 bits et le courant dominant actuel est en 64 bits.

image-20230528143806837

Conversion sans perte, la précision des données ne sera pas perdue

image-20230528143530373

Il y aura une perte de précision lors de la conversion de int en float : où int est 1+31, et float est 1+8+23, où 23 implique en fait un bit (il peut représenter 1+23=24 bits)

image-20230528143518674


Examen de cette rubrique

image-20230528143548917


Organisateur : Long Road Time : 2023.5.22-5.2

Je suppose que tu aimes

Origine blog.csdn.net/cl939974883/article/details/130921037
conseillé
Classement