400
Compter
Calculer
Ex : 10101 : le nombre binaire à convertir en décimal
⁽²⁾
B⁴ B³ B² B¹ B⁰ : les poids des colonnes (forme générale)
2⁴ 2³ 2² 2¹ 2⁰ : les poids des colonnes (forme instancée)
16 8 4 2 1 : les poids des colonnes (calculés)
1 0 1 0 1 : En face, on écrit le nombre. Ici : 10101
16 0 4 0 1 : les poids des colonnes (calculés pour 10101)
+ + + + = 21 : Avec une somme, on calcule le résultat
⁽¹⁰⁾
Ex : 21 : le nombre décimal à convertir en binaire
⁽¹⁰⁾
B⁴ B³ B² B¹ B⁰ : les poids des colonnes (forme générale)
2⁴ 2³ 2² 2¹ 2⁰ : les poids des colonnes (forme instancée)
16 8 4 2 1 : les poids des colonnes (calculés)
Je n'ai le droit de faire que des tas de 16, 8, 4, 2, 1.
21 - 16 = 5 : Je pars de 21 et lui soustrais le plus grand tas possible : 16
5 - 4 = 1 : Je pars de 5 et lui soustrais le plus grand tas possible : 4
16 0 4 0 1 : les 3 tas trouvés sont classés dans les colonnes pondérées
+ + + + = 21 : Au moyen d'une somme, on vérifie notre calcul
1 0 1 0 1 : On écrit un 1 devant chaque tas, 0 devant un vide.
10101 : en concaténant les chiffres trouvés, on obtient le nombre binaire.
Résultat : 21 = 10101
⁽¹⁰⁾ ⁽²⁾
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 ; 1 + 1 ne vaut pas 2,
car 2 n'existe pas en binaire,
mais on utilise 10, son équivalent en binaire
n : 742 : Nous partons du nombre n = 742
Cà1(n) : 257 : Nous calculons son complément à 1
n : 742
+ Cà1(n): + 257
= 10³ -1 : = 999 = 1000-1 = B³ - 1
n + Cà1(n) = 10³ -1 : Nous trouvons cette égalité intermédiaire
n + Cà1(n) = 10³ -1 : je fais passer -1 à gauche
n + Cà1(n) + 1 = 10³ : je fais passer n à droite
Cà1(n) + 1 = 10³ - n : j'obtiens -n à un overflow près
n : 1011
Cà1(n) : 0100
n : 1011
+ Cà1(n) : + 0100
= 2⁴ -1 : = 1111 = 10000-1 = B⁴ - 1
n + Cà1(n) = 2³ -1
n + Cà1(n) = 2³ -1 : je fais passer -1 à gauche
n + Cà1(n) + 1 = 2³ : je fais passer n à droite
Cà1(n) + 1 = 2³ - n : j'obtiens -n à un overflow près
n + Cà1(n) = B³ -1 : Je pars de cette formule. Je fais passer -1 à gauche
n + Cà1(n) + 1 = B³ : il devient + 1. Je fais passer n à droite
Cà1(n) + 1 = B³ - n : j'obtiens -n à un overflow près. J'utilise le Cà2(n)
Cà2(n) = B³ - n : à un dépassement de capacité près Cà2(n) = - n
Cà2(n) = B³ - n : Je repars de cette égalité. Soit m un nombre donné,
m + Cà2(n) = B³ + m - n : j'ai rajouté m des deux côtés de l'égalité
m + Cà2(n) = m - n : Résultat : à un dépassement de capacité près,
au moyen du Cà2(n), je peux calculer m - n
(à B³ un dépassement de capacité près).
D'abord, effectuons le calcul classiquement :
m : 742
- n : - 235
m-n = 507 : C'est le résultat qu'il nous faut trouver !
Maintenant refaisons le calcul par la méthode du Cà2(n)
D'abord nous calculons le Cà1(n), puis nous le vérifions :
Cà1(n) : 764
+ n : 235
= : 999 : OK, la vérification est bonne.
Partant du Cà1(n), en l'incrémentant, calcul du Cà2(n)
Cà1(n) : 764
+ 1 : + 1
= Cà2(n) : 765 : Ici nous avons le Cà2(n).
Ici, appliquons la formule : m + Cà2(n) = B³ + m - n
ou plutôt, après commutation : Cà2(n)+m = B³ + m - n
¹
Cà2(n) : 765
+ m : + 742
= B³+m-n = 1507 : c'est le résultat brut
B³+m-n = 1000 + 507 : faisons apparaître B³
B³+m-n = B³ + 507 : éliminons les deux côtés
m-n = 507 : C'est le résultat final
Nous avons trouvé le bon résultat
D'abord, effectuons le calcul classiquement :
m : 1010
- n : - 0110
m-n = 0100 : C'est le résultat qu'il nous faut trouver !
Maintenant refaisons le calcul par la méthode du Cà2(n)
D'abord nous calculons le Cà1(n), puis nous le vérifions :
Cà1(n) : 1001
+ n : 0110
= : 1111 : OK, la vérification est bonne.
Partant du Cà1(n), en l'incrémentant, calcul du Cà2(n)
¹
Cà1(n) : 1001
+ 1 : + 1
= Cà2(n) : 1010 : Ici nous avons le Cà2(n).
Ici, appliquons la formule : m + Cà2(n) = B³ + m - n
ou plutôt, après commutation : Cà2(n)+m = B³ + m - n
¹
Cà2(n) : 1010
+ m : + 1010
= B⁴+m-n = 10100 : c'est le résultat brut
B⁴+m-n = 10000 + 100 : faisons apparaître B⁴
B⁴+m-n = B⁴ + 100 : éliminons les deux côtés
m-n = 100 : C'est le résultat final
Nous avons trouvé le bon résultat