°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 |