archiM a écrit:Je parlais de multiplier en binaire, mais 4 bits par 4 bits. Ma question peut sembler idiote à des matheux, mais mon savoir étant limité, je voudrais qu'on m'explique clairement :
- Quand je tape "3 x 4" sur ma calculette, que se passe-t-il ensuite ?
Merci.
Oh, mais moi, je suis pas matheux, et ces notions sont assez loin pour moi.
Le principe de base est que l'individu pense et travaille avec des chiffres, l'ordinateur ne pense pas, et la seule chose qu'il sache faire, c'est
1- le OU si au moins d'un des deux vit est à 1, le résultat est 1
2- le ET si les deux bits sont à 1, le résultat est 1
3- le NOT si le bit est à 0 alors il met 1 et réciproquement.
L'opération 3 x 4, c'est trop compliqué, on va faire 3 + 4
Vous tapez 3 et un séparateur (le signe '+') la machine va mettre 3 dans un registre X, donc X contient 0000 0011 (on suppose 1 octet donc 8 bits)
Le signe '+' a été mémorisé au passage.
Vous tapez 4 et un séparateur (le signe '=') la machine va mettre 4 dans un registre Y, donc Y contient 0000 0100.
Comme le séparateur est '=", la machine va faire l'addition, qui donné naturellement 0000 0111, et va gentiment afficher 7.
Si ça avait été 3 - 4 on aurait eu quelque-chose comme ça 1000 0001
Le premier 1 (à gauche) est le bit de signe, il est positionné à 1, puisque négatif, le dernier 1 est le résultat de la soustraction. Mais là, ça diffère suivant les machines.
Une multiplication n'est qu'une addition avec décalage.
En fait, la machine n'utilise que le binaire, l'utilisateur que le décimal, et le pauvre informaticien, il est obligé de connaitre en plus l'hexadécimal. L'octal est très peu utilisé.