Conversion binaire
Fermé
barry
-
28 juin 2016 à 13:13
paly2 Messages postés 254 Date d'inscription vendredi 29 août 2014 Statut Membre Dernière intervention 15 février 2018 - 1 juil. 2016 à 17:55
paly2 Messages postés 254 Date d'inscription vendredi 29 août 2014 Statut Membre Dernière intervention 15 février 2018 - 1 juil. 2016 à 17:55
A voir également:
- Conversion binaire
- Codage binaire - Guide
- Conversion monnaie - Télécharger - Banque & Budget
- Conversion bytes en mo ✓ - Forum Webmastering
- Conversion majuscule minuscule - Guide
- Réponse binaire - Forum Bases de données
3 réponses
nagaD.scar
Messages postés
4272
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 janvier 2023
251
28 juin 2016 à 14:06
28 juin 2016 à 14:06
Salut,
Un petit tour sur la charte devrait t'aider a voir qu'on ne fait pas les exercices des gens mais qu'on aide les personnes qui font l effort d au moins essayer et qui bloquent.
Mais vu que je suis sympas, si tu fais mon exposé sur les différences de sexualité entre les casoars et les ornithorynque je veux bien t ecrire l algo.
naga
Un petit tour sur la charte devrait t'aider a voir qu'on ne fait pas les exercices des gens mais qu'on aide les personnes qui font l effort d au moins essayer et qui bloquent.
Mais vu que je suis sympas, si tu fais mon exposé sur les différences de sexualité entre les casoars et les ornithorynque je veux bien t ecrire l algo.
naga
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
25
Modifié par paly2 le 30/06/2016 à 21:50
Modifié par paly2 le 30/06/2016 à 21:50
Tu es dans le forum C. Or tu n'es pas sans savoir qu'en C, comme dans la laaarge majorité des languages (en fait je n'en connais aucun pour lequel ça ne soit pas le cas même s'il doit bien en exister :p), la base décimale/binaire n'est qu'une représentation, et qu'en fait tous les nombres sont encodés en binaire.
Le C99 standard ne te permet d'écrire les nombres qu'en décimal (pas de préfixe), octal (préfixé par un 0, raison pour laquelle les nombres décimals en C ne doivent jamais commencer par des 0 inutiles) et hexadécimal (préfixé par 0x). Un certain nombre de compilateurs permettent aussi d'écrire des nombres en binaire (préfixé par 0b).
Pour ce qui est de l'affichage avec printf, tout dépend du format que tu passes à printf.
Par conséquent, "un algorithme qui convertit un nombre décimal en binaire" n'a pas de sens, puisque tu peux déjà représenter les nombres aussi bien en décimal qu'en binaire...
La curiosité est une excellente qualité !
Le C99 standard ne te permet d'écrire les nombres qu'en décimal (pas de préfixe), octal (préfixé par un 0, raison pour laquelle les nombres décimals en C ne doivent jamais commencer par des 0 inutiles) et hexadécimal (préfixé par 0x). Un certain nombre de compilateurs permettent aussi d'écrire des nombres en binaire (préfixé par 0b).
Pour ce qui est de l'affichage avec printf, tout dépend du format que tu passes à printf.
Par conséquent, "un algorithme qui convertit un nombre décimal en binaire" n'a pas de sens, puisque tu peux déjà représenter les nombres aussi bien en décimal qu'en binaire...
La curiosité est une excellente qualité !
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
Modifié par jisisv le 1/07/2016 à 16:40
Modifié par jisisv le 1/07/2016 à 16:40
Essaye quelque chose du genre ( vite bricolé)
A simplifier et améliorer !
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
#include <stdlib.h> #include <stdio.h> int main( int argc, char*argv[]) { long long unsigned int mon_entier = 23, q; char *res, *ptr; res = malloc(sizeof(mon_entier) +1); if (res) for (ptr = res ; ptr < res + sizeof(mon_entier); ptr++) *ptr= '0'; *ptr = 0; q = mon_entier; ptr = res + sizeof(mon_entier) - 1 ; while ( q ) { printf("q = %d\n", q); *ptr += (q & 1); ptr--; q = q >> 1; } printf("%16s\n" , res); return EXIT_SUCCESS; }
A simplifier et améliorer !
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
25
Modifié par paly2 le 1/07/2016 à 17:55
Modifié par paly2 le 1/07/2016 à 17:55
Ce n'est pas une conversion d'un nombre décimal en binaire (ce qui n'a pas de sens, comme je le disais), c'est une conversion d'un nombre en chaîne de caractères littérale dans laquelle le nombre est représenté en base binaire.
Cependant il est vrai qu'il n'existe en C aucune fonction standard pour faire ce que fait ton code, seulement la fonction non-standard itoa(), c'est dommage, ça pourrait parfois être utile...
Cependant il est vrai qu'il n'existe en C aucune fonction standard pour faire ce que fait ton code, seulement la fonction non-standard itoa(), c'est dommage, ça pourrait parfois être utile...
1 juil. 2016 à 12:59