°PatriX°
einstein@mygale.org |
>Petit exemple ... |
Opérations | On note | Remarques |
13/2 = 6.5 | 1 | le nombre est à virgule |
6/2 = 3.0 | 0 | on prend la partie entière de 6.5 pour la nouvelle division |
3/2 = 1.5 | 1 | on n'a toujours pa atteint 1 donc on continue |
1/2 = 0.5 | 1 | on a atteint un chiffre inférieur à 1 il faut donc s'arrêter. |
#include <stdio.h> dec_bin(int n) { if (n >= 1) dec_bin(n/2); printf("%d",n%2); } main() { int n; scanf("%d",&n); dec_bin(n); } | l |
Load 3 Load 2 Load 4 Multiply Add | l |
4 2 3 | l |
8 3 | l |
#include <stdio.h> dec_bin(int n) { if (n >= 1) dec_bin(n/2); printf("%d",n%2); } main() { int n; scanf("%d",&n); dec_bin(n); } | l |