info:gene:repdonnees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
info:gene:repdonnees [2022/10/10 14:32] – [Représentation des données] philinfo:gene:repdonnees [2023/10/19 15:13] (Version actuelle) – [3. Encodage des entiers relatifs (complément à 2)] phil
Ligne 2: Ligne 2:
  
 ===== Représentation des données ===== ===== Représentation des données =====
-[Mise à jour le 5/10/2022]+[Mise à jour le 19/10/2023]
  
  
Ligne 9: Ligne 9:
  
 **Ressources** **Ressources**
 +  * Complément à 2 (<html><a href="https://fr.wikipedia.org/wiki/Compl%C3%A9ment_%C3%A0_deux" target="_blank">Wikipédia</a></html>)
   * Editeur hexadécimal en ligne : <html><a href="https://hexed.it/" target="_blank">HexEdit</a></html>   * Editeur hexadécimal en ligne : <html><a href="https://hexed.it/" target="_blank">HexEdit</a></html>
 +
 ==== 1. Introduction ==== ==== 1. Introduction ====
 Les données et les programmes stockés dans la mémoire des machines numériques sont représentés à l'aide de deux chiffres : **0** et **1**. Les données et les programmes stockés dans la mémoire des machines numériques sont représentés à l'aide de deux chiffres : **0** et **1**.
Ligne 87: Ligne 89:
  
 //Vérification// : pour n = 18, N<sub>10</sub> ∈ [-2<sup>17</sup>, 2<sup>17</sup>-1] soit **-131072 ≤ N<sub>10</sub> ≤ 131071** //Vérification// : pour n = 18, N<sub>10</sub> ∈ [-2<sup>17</sup>, 2<sup>17</sup>-1] soit **-131072 ≤ N<sub>10</sub> ≤ 131071**
 +
 +
 +<callout type="primary" icon="true">**Méthode**
 +  * Les nombres positifs sont représentés de manière usuelle.
 +  * Les **nombres négatifs** sont obtenus en calculant l'opposé du nombre positif par deux opérations successives:
 +    * On **inverse les bits de l'écriture binaire** (opération binaire NON), on fait ce qu'on appelle le complément à un ;
 +    * On **ajoute 1** au résultat (**les dépassements sont ignorés**). \\ Cette opération correspond au calcul de **2<sup>n</sup> − |x|**, où n est la longueur de la représentation et |x| la valeur absolue du nombre à coder. \\ Ainsi, −1 s'écrit comme 256−1 = 255 = 11111111<sub>2</sub>, pour les nombres sur 8 bits. Ceci est à l'origine du nom de cette opération : « complément à 2 puissance n », quasi-systématiquement tronqué en « complément à 2 ».
 +
 +La même opération effectuée sur un nombre négatif donne le nombre positif de départ: **2<sup>n</sup> − (2<sup>n</sup> − x) = x**.
 +</callout>
  
  
Ligne 257: Ligne 269:
 Voir [[python:bases:chaines|Les séquences : chaînes de caractères]] Voir [[python:bases:chaines|Les séquences : chaînes de caractères]]
  
 +==== 6. Pour aller plus loin ====
 +**Real Python** - <html><a href="https://realpython.com/python-encodings-guide/" target="_blank">Unicode & Character Encodings in Python: A Painless Guide</a></html>
  
 ---- ----
  • info/gene/repdonnees.1665405134.txt.gz
  • Dernière modification : 2022/10/10 14:32
  • de phil