- Base - Coefficients - Poids
- Conversions de bases
- Système binaire
- Représentation des nombres négatifs
- La virgule flottante
- Soustraction par addition du complément vrai
- Codage ordinaire
Un nombre N, exprimé dans un système de numération à base B, s'écrit :
N = anBn + an-1Bn-1 + ....... + a0B0 + a-1B-1 + ...... +a-mB-m
- La base B est en fait le nombre de symboles élémentaires dont on
dispose pour exprimer les coefficients.
- Les ai sont des coefficients multiplicatifs.
avec en conséquence :
ai < B
- Au rang r, la quantité Br est le
poids de ce rang .
On exprime généralement N en ne rappelant que la suite des coefficients. Ainsi en base 10,
4x102 + 0x101 + 7x100 + 3x10-1 + 5x10-2 = 407,35
La virgule marque le rang à partir duquel les poids deviennent inférieurs à 1.
Quand un coefficient multiplicatif vaut 0, on ne le supprime pas, on le conserve en bonne et due place afin de garantir la
correspondance des poids aux coefficients. La position de chacun des chiffres indique en effet la puissance de B dont il est le
coefficient.
On n'écrit pas les zéros qui se trouveraient à la gauche du dernier chiffre non nul vers la gauche .
Les bases les plus utilisées sont :
La base 2 : numération binaire
La base 3 : numération ternaire
La base 8 : numération octale
La base 10 : numération décimale
La base 12 : numération duodécimale
La base 16 : numération héxadécimale
Le choix d'une base fixe le système de numération dans lequel on décide de travailler. On s'accorde à admettre que nos ancètres ont fait le choix de la numération à base 10 en fonction du nombre de doigts de leurs mains. Si nous n'avions eu que quatre doigts par main notre système aurait vraisemblablement été le système octal, ce qui eut changé bien des choses quand on connait les avantages des systèmes à base 2exp(p).
On note bien que, quelle que soit la base du système, le poids placé immédiatement à gauche de la virgule vaut B0=1.
Systèmes à base 2p { p>=1 }
Tout système dont la base est une puissance de 2 est un système à base 2p. Ce sont les cas des systèmes binaires (2) , octaux (8), héxadécimaux (16). Ces systèmes se caractérisent par une grande facilité de conversion base 2 - base 2p.
DECALAGES (Multiplication ou division par la base ou un multiple de la base)
Un décalage d'un rang sur la gauche de la suite des chiffres d'un nombre N équivaut a une multiplication de N
par la BASE.
407,35 x 10 = 4073,50
(en base 10)
A l'inverse, tout décalage sur la droite équivaut à une division par la base. Par exemple en base 2:
(1 0 1 1 0 1) / 2 = 1 0 1 1 0 , 1
Aussi:
Multiplier N par Bn, c'est décaler
n fois sur la gauche la suite des chiffres de N avec insertion
de 0's sur la droite. Diviser par Bn (ou multiplier
par B-n) c'est décaler n fois
à droite avec insertion de 0's à gauche.
Numération à BASE 8 (OCTAL)
Base: 8, Coefficients: a < 8 ( 0, 1,....., 7 ), Poids: 8n
Exemple : N = 3702
Numération a BASE 16 (HEXADECIMAL)
Base: 16, Coefficients: a < 16 ( 0, 1, 2,..., 9, A, B,..., F); Poids: 16n
En hexadécimal, le nombre de symboles disponibles pour exprimer les ai devant s'élever à 16, il a fallu compléter les caractères numériques en réquisitionnant les caractères alphabétiques allant de A à F.
Exemple : N = 5A2BF
Numération a BASE 2 (BINAIRE)
Base: 2, Coefficients: a < 2 ( 0, 1 ), Poids: 2n
Exemple : 1x2 + 0x2 + 1x2 + 1x2 + 0x2 = 10110
Deux états physiques distincts et deux seulement suffisent à rendre compte de la valeur 0 ou 1 de tout coefficient d'un nombre binaire. C'est l'avantage essentiel que l'on accorde a cette numération. L'alphabet de la numération binaire qui se limite donc à deux caractères seulement s'accomodera aisément des possibilités de représentations en machines numériques.
Conversion d'un système dans un autre
Connaissant un réel positif N dans le système à base B, on a, considérant ce mème nombre en base B':
N = anB'n + an-1B'n-1 +.........+a1B'1 + a0B0
On isole le premier coefficient a0 dans la base B', en divisant N par B'. Le reste de cette division ramène le coefficient a0
N / B'
= (anB'n-1 +.........+a2B'1
+ a1) + a0
quotient
reste
On isole ainsi les ai de proche en proche en reprenant chaque fois le quotient Q dans la division par B'. etc .......
Q / B'
= (an B +.........+a2 B) + a1
quotient
reste
exemple:
conversion du nombre 437 exprimé en base 10 en son équivalent en base 3 :
437 3
13 145 3
17 25 48 3
2 1 18
16 3
0 1 5
3
2 1 3
1 0
437 (base 10) = 121012 (base 3)
Nota bene:
Une fois exécutée la division de 5 par
3 avec pour quotient 1, les divisions n'en sont pas terminées
pour autant. Il faut poursuivre jusqu'a obtenir un quotient strictement
nul. C'est d'autant plus important que c'est justement le coefficient
de plus fort poids qui est calculé en dernier.
ainsi : 437 = 1*3 + 2*3 + 1*3 + 0*3 + 1*3 + 2*3 = 121012
On vérifie que tous les coefficients sont bien strictement inférieurs à la base 3.
La méthode vaut pour pour les nombres fractionnaires inférieurs à 1.
Conversion base 2 - base 2p
Cette conversion consiste essentiellement à partitionner le nombre binaire à convertir en segments de p chiffres et de convertir chacun des segments dans le système à base p. Prenons un exemple:
N = 1011101100
conversion en base 8
N = 1 011 101 100
1 3 5
4
N = 1354 en base 8
conversion en base 16
N = 10 1110 1100
2 E C
N = 2EC en base 16
Le BIT
La dénomination anglo-saxonne d'un chiffre binaire est "binary
digit". On dit, l'usage faisant , que la contraction de cette appellation
a donné: "BIT"
Un nombre binaire est constitué d'une suite de bits (longueur).
MSB / LSB
Dans un configuration binaire, le bit le plus à gauche est le bit de plus fort poids ou M.S.B (Most Significant Bit). Le bit le plus à droite est à l'inverse le L.S.B (Least Significant Bit).
table des équivalences des 17 premières valeurs décimales:
decimal binaire octal hexadecimal
0
0
0
0
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
16
10000
20
10
17
10001
21
11
Gabarit - longueur - mot
Les machines numériques obligent souvent à représenter les nombres sur une longueur de chiffres déterminée. C'est un gabarit de représentations.
Le nombre maximum de chiffres possibles dans ce gabarit est la longueurde la représentation.
Dans le système binaire, nous parlerons de MOTS. Les longueurs de mots les plus utilisées sont 4, 8 (Bytes) 16, 32 bits.
Gabarit des mots de huit bits: [ ][ ][
][ ][ ][ ][ ][ ]
La capacité c de représentations dans un gabarit de longueur N pour des nombres exprimés en base B est:
c = BN
Pour des mots de huit bits, la capacité de représentions
s'élève à :
28 = 256
Conversion HEXADECIMAL - BINAIRE
Il suffit de transcrire chacun des chiffres du nombre héxadecimal en binaire pur sur quatre bit et de concaténer l'ensemble.
Si N = 5A2BF
N = 0101 1010 0010 1011 1111
N = 1011010001010111111
Conversion HEXADECIMAL - OCTAL
Comme il s'agit d'une conversion d'une base 2exp(p) - 2exp(q) Il sera commode de passer par une transcription intermédiaire en binaire pur. transcription à partir de laquelle on reconstitue l'octal en organisant la suite de bits obtenue en triplets en commençant par la droite.
Exemple : N = 5A2BF
N = 101 1010 0010 1011 1111
réarrangement pour écriture en base 8 :
= 1 011 010 001 010 101 111 111
N = 1 3 2
1 2 5
7 7
Conversion BASE n - DECIMAL
Il suffit de développer l'écriture du nombre dans la base n et de calculer la valeur ramenée en décimal .
3702 (base 8) = 3.8 + 7.8 + 0.8 + 2.8 =
décimal
ADJACENCES
Chiffres adjacents
Deux chiffres qui ne diffèrent que d'une unité modulo B sont dits adjacents.
exemples: en base 10 : 7 et 6 , 7 et 8 , 9 et 0
en base 16 : 2 et 3 , C et D , F et 0
en base 2 : 1 et 0
Deux chiffres consécutifs sont adjacents ainsi que les chiffres 0 et B-1.
Nombres adjacents
Deux nombres de mèmes longueurs qui ne diffèrent que par un chiffre de mème rang, ces deux chiffres étant eux-mèmes adjacents, sont dits ADJACENTS .
Exemple:
Nombres adjacents au nombre 473 exprime en base 8 :
474
403
573
473
473
473
472
463
373
Le nombre de combinaisons adjacentes à un nombre de longueur
n est : 2n
Ce nombre est n dans le cas de la numération à
base 2.
Complément restreint
En écrivant à la place de chacun des chiffres d'un nombre D la valeur complémentaire à B-1 de ce chiffre on obtient le complément restreint de D noté Cr(D).
Si D = 4 7 0 2
(base 10)
Cr(D) = 5 2 9 7 = Cr(4702)
Si D = 3 0 7
(base 8)
Cr(D) = 4 7 0 = Cr(
307 )
Cr( 1101 ) = 0010 (base 2)
Alors, si N est cette fois la longueur du nombre D, on a:
Cr(D) = B - D - 1
Complément VRAI
Le complément vrai est dit aussi complément à 2 dans le système binaire. C'est le nombre qu'il faut ajouter à
D pour égaler la capacité de représentations dans un gabarit donné de longueur N. Aussi :
Cv(D) = B - D
soit, en rapprochant de ( ) : Cv(D) = Cr(D) + 1
en décimal , si D = 7025
Cv(D) = 10 - D = 2974 + 1 = 2975
les quatre opérations de base
Ces quatre opérations procèdent des mèmes principes indépendamment de la base de numération considérée.
Addition de deux nombres A et B en base 2
exemple :
1 1 1 <---- retenues
1
0 1 1 0 1 (A)
+
1 1 0 1 0 (B)
1 0 0 0 1 1 1
On en dégage la table d'addition ci-après pour l'addition bit à bit au rang i:
Le circuit logique qui réalise l'addition de deux bits est un DEMI-ADDITIONNEUR (Half adder) .
soustraction :
exemple :
1 1 1
<---reports a retrancher dans la
1 0 1 0 1 1 soustraction des poids immediatement
1 1 1 0 1 superieurs ( BORROW )
0 0 1 1 1 0
d'ou la table de soustraction ci-après :
a - b r s
0 0 0 0
0 1 1 1 (report)
< borrow >
1 0 0 1
1 1 0 0
La MULTIPLICATION
Table de la multiplication binaire de deux bits:
a b z
0 0 0
0 1 0
1 0 0
1 1 1
Une simple porte ET (z = a . b) suffit à implémenter
la multiplication de deux bits.
Circuiterie de multiplication d'une donnée sur 5 bits (ai) par un bit (B0):
Multiplication de deux nombres de n bits:
Prenons directement un exemple:
1 0 1 1 0 1
45 (multiplicande) B
x 1 1 0 1 -----
13 (multiplieur) A
1 0 1 1 0 1 x 1
0 0 0 0 0 0 x 0
1 0 1 1 0 1 x 1
1 0 1 1 0 1
x 1
_______________
1 1 0 1 0 0 1 0 0 1
On peut aussi poser la multiplication sous la forme ci-après
:
b4 b3 b2
b1 b0
x a3
a2 a1 a0
----------------------
b4a0 b3a0 b2a0 b1a0 b0a0
b4a1 b3a1 b2a1 b1a1 b0a1 0
b4a2 b3a2 b2a2 b1a2
b0a2 0 0
b4a3 b3a3 b2a3 b1a3 b0a3 0
0 0
-----------------------------------------------
P7 P6
P5 P4 P3
P2 P1
P0
Le multiplicande B est successivement multiplié par les bits du multiplieur A. On procède enfin à une addition des résultats des n multiplications si n est le nombre de bits du multiplieur. La multiplication procède d'un certain nombre d'additions partielles et de décalages à gauche du multiplicande. L'addition de l'ensemble des résultats partiels, est généralement fractionnée en additions successives (accumulations).
Réseau de multiplication de deux nombres de 5 bits A (a4, ....., a0) et B (B4, ......., B0). Résultat sur 10 bits M (m9,.....,m0). M = A x B
On peut séquencer la multiplication pour ramener le nombre d'additionneurs à un seul additionneur.
Multiplieur 8 bits par additions / décalages.
Il se compose:
D'un registre tampon dans lequel est rangé le multiplicande
(commande
ldb). On peut souvent s'en passer.
Un registre dans lequel on range le multiplieur.
Ce registre est un registre à chargement parallèle
(lda) et décalages à droite.
Une batterie de 8 portes ET servant à multiplier
le multiplicande par le bit de plus faible poids du registre multiplieur
(lsb)
Un additionneur 8 bits (add).
Un registre dans lequel sont accumulés les résultats
partiels (acc).
Principe:
Le lsb du registre multiplieur est le premier bit de multiplication du multiplicande (Portes ET). Le résultat de la multiplication est
additionné au contenu de l'accumulateur acc (mis à "00000000" avant toute multiplication). L'accumulation effectuée, le contenu
du registre multiplieur est décalé d'un cran sur la droite ce qui amène le deuxième bit de multiplication en position
lsb pour la deuxième multiplication. Le lsb précédent est perdu.
Ce faisant, la bascule de poids fort msb du multiplieur se libère. On en profite pour y inscrire le poids faible de l'addition tandis que
acc recoit en fait les 7 autres bits et la retenue en poids fort.
La multiplication est exécutée en huit coups d'horloge. Sur chaque front de synchronisation il y a simultanément:
- Décalage dans le registre multiplieur avec inscription en msb.
- Chargement du registre acc.
Le compteur modulo 9 signale sur le neuvième coup d'horloge la fin d'exécution de la multiplication (TC: Terminal Count).
La DIVISION
Il s'agit ici de déterminer combien de fois le dividende contient
le diviseur, on procède cette fois par soustractions successives.
1 1 0 1 1 | 1 0 1
- 1 0 1 1 0
1 , 0 1
0 0 1 1
* .......
1 1 1
-
1 0 1
0 1 0
1 0 0
*
.....
1 0 0 0
1 0 1
1 0 0
.......
1 - Module et SIGNE
Le module du nombre exprimé en binaire pur est accompagné d'un bit supplémentaire représentant le signe . Les associations sont:
0 ------> +
1 ------> -
S module
2 - Représentation des nombres en COMPLEMENT VRAI
C'est aussi la représentation dite VIRGULE FIXE
On convient de représenter la valeur négative d'un nombre N par son complément vrai ou complément à
2.
Exemple:
Pour des mots de gabarit 6:
+ 5 = 0 0 0 1 0 1
- 5 = 1 1 1 0 1 1
= Cv(+5)
Dans ces conditions, toute donnée dont le bit de plus fort poids vaut 0, est positive. Tout nombre négatif aura son bit de plus fort poids égal à 1.
0 1 1 1 +7
On trouvera ci-contre les
0 1 1 0 +6
représentations des nombres
.......
positifs et négatifs dans le
.......
code du complément vrai pour
0 0 0 1 +1
des mots de quatre bits.
0 0 0 0 +0 (zéro positif )
1 1 1 1 -1
On peut remarquer que dans le
1 1 1 0 -2
sens du comptage autant que
.......
du décomptage ces configura-
.......
tions sont celles des états
1 0 0 1 -7
successifs d'un compteur /
1 0 0 0 -8
décompteur binaire modulo 16 .
dans ce mode de représentation le signe fait partie intégrante du nombre.
Les traitements arithmétiques appliqués aux nombres représentés en complément à 2 ne différencient pas le bit de plus fort poids des autres bits. La valeur du MSB est seulement une indication a partir de laquelle on peut déterminer si on a affaire a une valeur inférieure ou supérieure à 0.
pour des mots de 16 bits :
1000 0000 0000 0000 = - 32 768
1111 1111 1111 1111 = - 1
0111 1111 1111 1111 = + 32 767
On détermine la valeur du module d'un nombre représenté dans le codage du complément vrai, en testant la valeur du plus fort poids (MSB).
si MSB = 0: Le nombre est un nombre positif.
si MSB = 1: Le nombre est un nombre négatif. Il y a lieu, si on veut disposer du module, d'en faire un nombre positif en le multipliant
par -1. Ce qui équivaut à écrire son complément vrai.
- 1 x (-n) = Cv(-n) = +n
exemple : n = 1 1 1 0 1 1
Le MSB valant 1, ce nombre est négatif.
On a alors: Module de n = Cv(n)
= 0 0 0 1 0 1 = +5
le débordement (Overflow)
Le représentation des nombres en complément à deux fait que dans tout traitement arithmétique il n'y a pas à procéder à une séparation préalable des signe et modules. La donnée est traitée d'un seul tenant. Opérant dans des gabarits (Longueur de mot) fixés il faut, après chaque opération, s'assurer que le résultat dans le gabarit est encore valide dans cette mème représentation du complément à deux. Si ce n'est pas le cas, il y a débordement (débordement au dela de l'espace de représentations). On peut se reporter à l'espace des représentations pour des mots de 4 bits rappelé plus haut (de -8 à +7). Une opération telle que (+5) + (+4) aboutit à un débordement.
Détection du débordement
Il y a débordement si le MSB du résultat différe du bit de retenue. Une simple porte OU-exclusif à deux entrées
suffira à détecter le débordement. Pour vérification, on peut procéder à quelques essais sur les nombres codés
sur 4 bits.
Tout nombre représenté en virgule flottante s'écrit sous la forme:
N = M x Be
on distingue :
- Une base B
- une mantisse M
- un exposant e
Ex :
-237 x 105
M est signé. Sur une longueur de mot
de N bits, il y aura ainsi réservation de trois
champs pour:
le signe, la mantisse et l'exposant
. La base étant la base 2.
On rappelle ci-après une norme de représentation virgule flottante de l'IEEE:
signe
exposant mantisse (fraction)
s
8 bits
23 bits
<--------------------- 32 bits
----------------->
Signe | Exposant | Mantisse (fraction) |
S | 8 bits | 23 bits |
Le mot est de 32 bits . les champs sont :
- Champs de signe s ; 1 bit
- Champ exposant e ; 8 bits
- Champ mantisse M ; 23 bits
Représentations normalisées:
La représentation normalisée suppose une mantisse de
la forme:
1 , x x x x x x x .....x x x x
x x x
<---- partie
fractionnaire ---->
Ne se trouve ainsi représentée dans les 24 bits de la mantisse que la partie fractionnaire du nombre. Celle-ci aura été préalablement "normalisée".
La normalisation consiste donc à ajuster l'exposant de facon à obtenir une mantisse de valeur comprise entre 1 et 2. Alors, le bit '1' avant la virgule n'apparaissant pas explicitement dans la suite des 24 bits de la mantisse est dit "bit caché" (HIDDEN BIT).
Nous ne considérons ici que des nombres non signés.
En décidant de ne traiter que des données de longueur fixe N, tout nombre n est connu au modulo 2N près. On aura toujours:
n = n + x * 2N x : entier
positif
alors :
n – m = n - m + B
= n + (B - m)
= n + Cv(m)
Cv(m): Complément vrai de m
n et m n'étant ici que des entiers positifs. Soustraire m de n revient à additionner le complément vrai de m.
si m < n : le résultat de l'opération sur les N bits est valide
si m > n : Le résultat sur les N bits est exprimé dans le code du complément à
2.
Nous verrons ultérieurement que les opérations d'additions ou soustractions sur des nombres signes représentés dans le code du complément vrai obligent à prendre certaines précautions quant a l'interprétation des résultats.
La parité d'une configuration binaire est la parité du nombre de '1' présents dans cette représentation.
Ex : 1 0 1 1 0 1 0 1 0 <parité impaire>
Il y a souvent controle de parité dans les cas de transmissions
de données. Pour ce faire, l'émetteur rajoute à la
donnée transmise un bit supplémentaire ou bit de parité
.
Il peut ètre judicieux de procéder à un controle de parité impaire. le bit de parité sera alors
mis à 0 si le nombre de ‘1’ dans la donnée est impaire et à 1 dans le cas contraire.
La parité impaire fait que dans toute transmission, la configuration recue contiendra au moins un ‘1’. Ce qui lève
l'ambiguité avec l'absence d'information pouvant se traduire par une suite de ‘0’ uniquement .
Les informations, données ou grandeurs destinées a ètre traitées par un système numérique obligent à représenter celles-ci sous formes de configurations binaires. C'est un codage.
On pourra coder:
- Des nombres
- Des données alphanumériques
- Des données à caractère analogique
(tension, courant, température, pression, position angulaire, etc
.....)
Le traitement numérique ne justifie pas à lui seul le codage. On pourra aussi coder pour des raisons de sécurité de transmission (on exploite le pouvoir de séparation des deux seuls symboles possibles 0 et 1) Ou encore pour assurer une meilleure détection voire réparation des erreurs de transmission (test de parité, code de hamming, ......).
N.B:
Les quelques indications données ci-aprés ne constituent
pas un exposé formel sur les codes. Ces rappels ne sont la
que pour servir de supports éventuels a certains exercices de type
combinatoire ou séquentiel proposés ultérieurement.
Le code décimal code binaire naturel (BCD)
- Codage sur une longueur fixe de 4 bits (tétrade)
- Code pondéré reprenant la pondération
du binaire pur d'ou son appellation de code 8.4.2.1.
On peut l'utiliser au codage de nombres décimaux. Consiste alors à associer à chacun des chiffres du nombre décimal son équivalent BCDN.
exemple :
N = 3 4 7
codage BCD 0011 0100
0111
Le code excédent 3
Ce code est dérivé du code BCD auquel on ajoute
systématiquement 3. Les équivalents décimaux
de ce code vont donc de 3 à 12.
Le code excédent trois est un code auto-complémenté.
C'est aussi un code symétrique (table
).
Il a eu sont utilité dans certaines machines scientifiques, sa caractéristique d'auto-complémentarité étant mise à profit dans les soustractions par additions des compléments vrais.
le code GRAY
Un code GRAY est un code adjacent. Deux configurations qui se suivent dans ce code seront systématiquement des configurations adjacentes. (différentiation sur un seul bit parmi n).
A noter que les deux configurations extrèmes sont elles-mèmes adjacentes. C'est un code continu ou cyclique. Il s'étend sur n bits, le nombre de configurations du code étant chaque fois de 2. Cette propriété d'adjacence sera particulièrement mise a profit dans le cas de conversions de positions angulaires (roues codeuses) ou linéaires (barettes).
L'avantage du codage adjacent se situe au plan mécanique.xxxxx
figure ( ), on vérifie bien que lorsque l'entrainement de la roue ammenée à passer d'un code au suivant, il ne peut y avoir commutation que d'un seul bit à la fois. Le système peut alors tolérer un léger défaut d'alignement des capteurs ( palpeurs ou détections électroluminescentes) sans conséquence sur l'interprétation de la mesure à la précision de l'alignement près.
Si la mème roue avait été codée en binaire
pur, on mettrait facilement en évidence les risques de mesures éronées.
Dans le cas par exemple d'une transition du secteur de code 0111
(7) au secteur de code 1000 (8), la transition rigoureusement simultanée
des 4 bits à la fois est mécaniquement peu probable
. de la configuration 0111 à la configuration 1000, on peut voir
apparaitre la configuration 0101 si le détecteur du
deuxième bit est légèrement place en avant par rapport
aux autres. Phénomène qu'on ne peut rencontrer s'agissant
d'une roue codée en code GRAY.
Trouver dans le code de gray la configuration binaire G caractérisant le secteur de rang n pourra se faire en appliquant la formule ci-après:
G = (N @ 2N) / 2 @ : OU-exclusif logique
N: valeur du rang n en binaire pur
La multiplication par 2 de N au numérateur traduit seulement un décalage à gauche avec insertion d'un 0 à droite.
La division par 2 n'est, à l'inverse qu'un décalage à droite de l'ensemble de la configuration obtenue aprés éxécution de l'opération OU-exclusif. Le bit le plus à droite est perdu, quel qu'il soit.
exemple :
Codage en gray du secteur de rang 13
13 = 1 1 0 1
2 x 13 = 1 1 0 1 0
a= N @ 2N = 1
0 1 1 1
a / 2 = 1 0 1 1
'1': bit perdu à droite après décalage
sur la droite
Ce traitement peut ètre assuré par la struture ci après:
B I N A I R E
G R A Y
Soit: Gray (G) - binaire naturel (B)
On appliquera les formules de transformation ci-après. On commence par le plus fort poids.
G R A Y
bn = gn
bn-1 = gn-1 @
bn
bn-2 = gn-2 @
bn-1
.
.
b0 = g0
@ b1
Formule:
On en déduit la structure matérielle ci-après:
G R A Y
B I N A I R E
DECIMAL BCD EXCEDENT 3 GRAY 8421
0
0000
0011
0000
1
0001
0100
0001
2
0010
0101
0011
3
0011
0110
0010
4
0100
0111
0110
5
0101
1000
0100
6
0110
1001
0101
7
0111
1010
0111
8
1000
1011
1111
9
1001
1100
1110
10
1100
11
1101
12
1001
13
1011
14
1010
15
1000
____ ; représentations hors code