« Algèbre de Boole/Utiliser le système binaire » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎Conversions : Supprimé "Par position dans une chaîne de caractère" car clairement faux (Cf page de discussion)
Ligne 188 :
:*1A2F<sub>16</sub> va s'écrire 1, 10=8+2, 2, 15=8+4+2+1 soit 1 1010 0010 1111<sub>2</sub>
:*156<sub>8</sub> va s'écrire 1, 5=4+1, 6=4+2 soit 1 101 110<sub>2</sub>
 
==== Par position dans une chaîne de caratères ====
Une astuce, par exemple pour écrire un programme d'émulation d'instructions assembleur 16 bits, programme qui tournera sur une machine avec un processeur 8 bits. Elle permet d'éviter le calcul et ne s'appuie que sur la position d'une sous-chaîne (ou d'un caractère) dans une chaîne de référence, pour trouver la position du caractère (ou d'une sous-chaîne) correspondant dans la chaîne de référence qui est associée. Aussi, des fois que, les voici&nbsp;:
 
* '''entre binaire et hexadécimal'''
Pour convertir du binaire (4 bits) en hexadécimal, ou réciproquement, sans avoir à calculer, c'est possible avec les chaînes suivantes :
 
''binhexa'' "<code>0000111100101101000</code>" et ''hexabin'' "<code>0137FEC92586DA48</code>"
 
En effet, la position (unique) d'une chaîne constituée de 4 bits dans la chaîne "binhexa" donne la position du caractère hexadécimal correspondant dans la chaîne associée "hexabin". Et réciproquement, la position (unique) d'un caractère hexadécimal dans la chaîne "hexabin", donne la position du début de la sous-chaîne de 4 "bits" correspondante dans la chaîne associée "binhexa".
 
Exemple&nbsp;:
:* b"1110" est en 6<sup>e</sup> position dans la chaîne ''binhexa'', "00001'''1110'''0101101000", ce qui correspond dans la chaîne ''hexabin'' "0137F'''E'''C92586DA48" au caractère h"E"&nbsp;;
:* h"4" est en 15<sup>e</sup> position dans la chaîne ''hexabin'', "0137FEC92586DA'''4'''8", ce qui correspond dans la chaîne ''binhexa'' "00001111001011'''0100'''0" à la position du premier caractère de la chaîne de 4 bits "0100".
 
* '''entre binaire et octal'''
Idem avec les chaînes de caractères associées suivantes&nbsp;:
 
''binoct'' "<code>0001110100</code>" et ''octbin'' "<code>01376524</code>"
 
=== Table des valeurs des groupements de chiffres binaires ===
Ligne 307 ⟶ 288 :
|}
|}
 
== L'addition ==
L'addition en binaire s'effectue de la même manière qu'en décimal.