La façon la plus rapire de calculer en binai.
Résolu
Turki1923
Messages postés
590
Statut
Membre
-
Turki1923 Messages postés 590 Statut Membre -
Turki1923 Messages postés 590 Statut Membre -
Bonjour,
J'ai appris une façon de transformer les nombres décimal en binaire sur le SdZ .
Mais je voudrai une meilleur façon de convertir les décimal en binaire .
Merci d'avance pour vos réponses .
J'ai appris une façon de transformer les nombres décimal en binaire sur le SdZ .
Mais je voudrai une meilleur façon de convertir les décimal en binaire .
Merci d'avance pour vos réponses .
3 réponses
-
Salut,
Apprendre les divisions par 2 ;-))
Peut être tu devrais donner un peu plus des précisions. Tu veux le faire en quel langage?
De toute façon quelque soit le langage tu peux commencer d'écrire un algorithme en pseudo code.
-
Merci de ta réponse .
par exemple moi pour convertir un nombre en binaire j'uttilise cette téchnique :
la table des puissances de 2 :
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2
0 0 1 0 1 0 0
exemple disons que j'ai le nombre 40 .
je regarde si 128 rentre dans 40 si non je mes 0 . (comme je l'ai fait en haut
puis je regarde si 64 rentre dans 40 si non je mes 0
puis je regarde si 32 rentre dans 40 oui je mes donc 1
puis je fais 40 ? 32 = 8 . je continue donc avec le 8 .
ainsi de suite ...
mais je trouve que cette technique est beaucoup trop longue , ny'aurai-t-il pas un autre moyen de trouveer la réponse ?
et si vous pouviez me donné un exemple (pour que je comprenne mieu)-
-
-
Re,
Il y a sûrement mieux. J'ai trouvé cette fonction dans mes archives.lami20j@debian-acer:~$ cat dec2bin.c #include<stdio.h> void dec2bin (char *bin,unsigned nb); int main() { char bin[34]; unsigned decimal; printf("Entrez le nombre décimal : "); scanf("%u",&decimal); getchar(); dec2bin(bin,decimal); printf("%s\n",bin); return 0; } void dec2bin(char *bin,unsigned nb){ int i,j,k,tmp; for(i=0;nb != 0;nb >>= 1){ if(nb & 01) bin[i++] = '1'; else bin[i++] = '0'; } bin[i]='\0'; for(j=0,k=i-1;j<k;++j,--k){ tmp=bin[j]; bin[j]=bin[k]; bin[k]=tmp; } } lami20j@debian-acer:~$ gcc dec2bin.c lami20j@debian-acer:~$ ./a.out Entrez le nombre décimal : 1 1 lami20j@debian-acer:~$ ./a.out Entrez le nombre décimal : 2 10 lami20j@debian-acer:~$ ./a.out Entrez le nombre décimal : 127 1111111 lami20j@debian-acer:~$ ./a.out Entrez le nombre décimal : 128 10000000 lami20j@debian-acer:~$ ./a.out Entrez le nombre décimal : 255 11111111 lami20j@debian-acer:~$ ./a.out Entrez le nombre décimal : 256 100000000 -
-
-
-
il y a une méthode en passant par l'hexadécimal, mais je ne la connais pas