Informatique


Arithmétique binaire

Aller à

L'addition

Elle est très facile...

Exemple 1

Le cas le plus simple, sans report!

Faisons 1000 + 0001

Exemple 2

Cas simple avec un tout petit report

Faisons 1001 + 0001

  • R0: (1)2 + (1)2 = (10)2 avec report de (1)2 au R1
  • on a donc (0)2 au R0 et on ajoute un (1)2 au R1
Exemple 3

Plus de report !

Faisons 1011 + 0011

  • R0: (1)2 + (1)2 = (10)2 avec report de (1)2 au R1
  • on a donc (0)2 au R0 et on ajoute un (1)2 au R1
  • on a donc au R1 (1)2 +(1)2 + (1)2 = (11)2 et on ajoute un (1)2 au R2
  • on a donc au R1 (1)2 et on ajoute un (1)2 au R2

La soustraction

Elle est un peut surprenante...

Exemple 1

Le cas le plus simple, sans report!

Faisons 11111 - 10010

Exemple 2

Cas simple avec un tout petit report

Faisons 11110 - 10001

  • R0: (0)2 - (1)2 = (1)2 avec report de (1)2 au R1
  • je retire donc (1)2 au R1
  • ce (1)2 que j'ai utilisé venant du R1 vaut (2)10, raison pour laquelle j'ai mis deux fois la valeur (1)2 au R0 (en vert)
  • on a donc (1)2 + (1)2 - (1)2 = (1)2
  • le reste de la soustraction se fait sans report
Exemple 3

Des reports en veux-tu en voilà !

Faisons 10000 - 1111

  • R0: (0)2 - (1)2 = (1)2 avec report de (1)2 au R1
  • je retire donc (1)2 au R1
  • or, il ya (0)2 aux R1, R2 et R3
  • on prend donc le (1)2 du R4, et on répercute sur les rangs suiants
  • chaque fois qu'on prend 1 il est en rouge
  • les (1)2 en vert sont utilisés pour la soustraction
Exemple 4

On va un peut anticiper sur la suite, on va écrire -1 en binaire !

Faisons 0000 - 0001

On devrait avoir (11111)2, mais il y a un 1 qui dépasse de la configuration, il est tout simplement éliminé.


La multiplication

Elle est un très facile, on fait comme si on était en b10...

Exemple 1

Le cas le plus simple, sans report!

Faisons 1011 * 1000

On a donc:(1011)2 * (1000)2 = (1011000)2


La division

Elle est facile...

Exemple 1

Tous les cas sont simples...

Faisons 10110 / 11

  • En rouge, (101)2 - (11)2 = (10)2 et on abaisse (1)2
  • En vert, (101)2 - (11)2 = (10)2 et on abaisse (0)2
  • En orange, (100)2 - (11)2 = (1)2

On a donc:(10110)2 / (11)2 = (111)2 reste (1)2