rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Conversion de base

Posté par burinho, le lundi 9 janvier 2006 à 07:47:33
Bonjour,

je sais pas si ma question est le bon forum, si c'est pas la cas désolé pour le dérangement.

voilà je viens de lire l'article sur le site des conversion binaire, decimal, octal , et hexadecimal.

voilà j'ai bien compris que si on veux convertir un nombre de base 10 vers une nouvelle base on le divise le nombre par la nouvelle base.

et pour passer de binaire à dec on multiplie par la puissance de sa base.

mais je vois pas comment on fais pour passer par exemple d'une base 8 à à10 ou 2 ou 16.
je me pose les memes questions avec la base 16.

merci de m'eclairer.
Répondre à burinho  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
random, le lundi 9 janvier 2006 à 10:11:31
le mieux est de diposer de deux fonctions
l'une de codage à partir de la base 10
l'autre de décodage à partir d'une base quelconque vers la base 10
soit à coder 755 en base 16
755/16= 47 reste 3
47//16=2 reste 15
2/16=0 reste 2
le nombre cherché est 2 15 3, 15 en base 16 vaut F
la solution est donc 2F3
la transcription est immédiate
(2*16*16)+(15*16)+3=755 elle est pas belle, la vie ?
Répondre à random

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
burinho@yahoofr, le lundi 9 janvier 2006 à 12:41:52
tiens très interressant ce que tu dis car moi pour passer de hexa

2F3 --> j'aurais convertie en base 2 --> et convertie de base2 à base10.
Répondre à burinho@yahoofr

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
random, le mardi 10 janvier 2006 à 11:02:32
sauf qu'en base 2 il n'y a pas de f ce qui veut dire que tu lis
ta base 2 en base 16 ce qui est très productif mais non général elle est pas belle, la vie ?
Répondre à random

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Misdrhaal, le lundi 9 janvier 2006 à 13:09:24
c'est une méthode assez scolaire mais moins rapide que la division, elle a pour moi juste le mérite de faire travailler le cerveau sur deux bases :

2F3 on prend chaque digit qu'on exprime en base 2 sur un mot de 4 bits

2 : 0010
F : 1111
3 : 0011

ce qui donne 001011110011 donc 1011110011 (ce qui en base 10 donne 755)

La vitesse qu'on gagne en transcrivant 16->2 est perdue en convertissant 2->10

Par contre c'est une excellente méthode pour faire du passage de n'importe quelle base(puissance de 2) en binaire !!!
Répondre à Misdrhaal

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
burinho, le lundi 9 janvier 2006 à 13:31:56
>la transcription est immédiate
>(2*16*16)+(15*16)+3=755


en faite après réfléxion de la solution de "random" ce n'est rien d'autre que
2F3 -> 2*16^2 +16^1 +3^0
Répondre à burinho

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
burinho, le lundi 9 janvier 2006 à 21:43:28
donc si je comprend bien :

de octal et hexa vers --> dec ( on mutipliepar sa base elevé à la puissance)

de octal et hexa vers binaire -->(on utilise la division 2 euclienne)


mais est ce que on peut passer de octal vers hexa ou l'inverse sans passer par la base 2.
Répondre à burinho

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JvDo, le mardi 10 janvier 2006 à 02:47:44
bonsoir,

un p'tit délire insomniaque en forme de réponse :

pour passer de l'octal à l'héxa, il suffit de raisonner sur des nombres octaux à 4 chiffres (de 0 à 7777) qui s'écriront donc avec 3 chiffres en héxa (de 0 à FFF).
La généralisation à un nombre quelconque se fera par récursivité.

si tu prends un nombre octal O4.O3.O2.O1 (les Oi sont des chiffres de 0 à 7) et si tu considères sa représentation héxa H3.H2.H1 (les Hi sont des chiffres de 0 à F) alors :

H1=O1 + 8*Mod(O2;2)
H2=Int(O2/2) + Mod(4*O3;16)
H3=2*O4 + Int(O3/4)

Mod(nb ; diviseur) est le reste de la division de nb par diviseur et int( ) est la partie entière.

Pour l'hexa vers l'octal, c'est pareil..... mais dans l'autre sens (:-)

cordialement
Répondre à JvDo

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
random, le mardi 10 janvier 2006 à 10:59:45
oui les solutions que vous proposez sont parfaites pour les puissances de 2 et donc en informatique
mais si vous voulez une autre base par exemple 97
ca devient plus difficile

elle est pas belle, la vie ?
Répondre à random

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le mercredi 11 janvier 2006 à 00:15:31
Salut,

En base 97, 97 = 10. Voilà un petit code en C. Tu peux tester.
#include <stdio.h>
#include <string.h>

main()
{
int nbr, base ,numero ;
int reste,quotient,diviseur ;
char affichage[20],convert[2],temp[20] ;

printf("Nombre à convertir :") ;
scanf("%d",&nbr) ;
numero = nbr ;

printf("Base de conversion :") ;
scanf("%d",&base) ;

diviseur=base ;
quotient=1 ;
convert[1]='\0' ;
affichage[0]='\0' ;

while (quotient != 0)
{
 quotient = nbr / diviseur ;
 reste = nbr % diviseur ;
 nbr = quotient ;

 if ((reste >= 0) && (reste <= 9))
  convert[0] = reste+48 ;
 else
  convert[0] = reste+55 ;

 strcpy(temp,convert) ;
 strcat(temp,affichage) ;
 strcpy(affichage,temp) ;
}
printf("%d en base %d = %s\n",numero,base,affichage) ;
}
à toi d'adapter
Exemples :
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :755
Base de conversion :16
755 en base 16 = 2F3
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :755
Base de conversion :2
755 en base 2 = 1011110011
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :97
Base de conversion :97
97 en base 97 = 10
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :98
Base de conversion :97
98 en base 97 = 11
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :200
Base de conversion :97
200 en base 97 = 26
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :1333
Base de conversion :97
1333 en base 97 = D
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :2789
Base de conversion :97
2789 en base 97 = S
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :68979
Base de conversion :97
68979 en base 97 = 7WC
[lamitest@localhost ~]$ ./convesion_base
Nombre à convertir :1200
Base de conversion :97
1200 en base 97 = C[
[lamitest@localhost ~]$
Répondre à lami20j

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 vaya, le lundi 19 mai 2008 à 10:55:45
bjr

a trop bien ton programme marche a merveille et il est super simple a comprendre enfin je suis rassuré car avant pour le mm genre de calcul je n'y voyé rien du tout . par contre quelle sont les modifications a faire pour avoir le programme convertisseur de base X en base 10

si tu pourrais me l'envoié je te seré infiniment reconnaissant

aurevoir
Répondre à vaya

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
arador, le lundi 5 novembre 2007 à 01:45:21
Bonjour,
je voudrais savoir quel est le programme en c++ qui permet de passer de la base binaire vers une autre
Répondre à arador

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
loulitta, le dimanche 17 février 2008 à 18:34:06
svp je veux l'algorithme de la conversion du base 2 a la base 8.aidez moi svp
Répondre à loulitta

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
petite info, le dimanche 30 mars 2008 à 21:50:19
bonjorno every body,
bon je veut un programme qui convrti un nombre de base quelconque a la base 10
bon j'ai essayé et mon programme peut convertir les nombrede la base 10 a n'importe quel base
et merci d'avance
et veuillez je vous prie de b1 vouloir m'aidez
BY
Répondre à petite info

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
milliondollarbaby, le vendredi 4 avril 2008 à 12:58:50
bonjour a tous j ai un gros probleme avec les conversion d une base a une autre notemment de base 2 vers les autres et base 10 aussi,j ai vraiment besoin d aide,j ai cherche sur internet mais je n ai pas trouver de bon site qui explique bien,j ai une interro mercredi il faut que je maitrise ca avant,svp si qqun peut bien m expliquer ou me donner un site ou quoi ce serait gentil,je vous remercie.
Répondre à milliondollarbaby

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
joopma, le mardi 22 avril 2008 à 02:02:42
Bonjour a tous.
Salut petite info est ce que peux avoir ton programme qui permet la conversion un nombre en base 10 vers quelconque base?
merci d'avance

joopma.
Répondre à joopma

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
petite info, le vendredi 25 avril 2008 à 15:06:32
slt joopma
oui j'ai le programme qui converti de la base 10 a n'importe quel base mais tout d'abord il faut essayé toi mme ok?
et apres je te le donnerai le mien
d'acord
et bon courage
Répondre à petite info
Logiciels pertinents trouvés dans les téléchargements
Télécharger Switch Sound Format Converter 1.05Switch Sound Format Converter - Switchest un convertisseur de formats audio pour Windows ou Mac, capable de convertir des fichiers audio à partir de...Catégorie: Conversion audio
Licence: Freeware/gratuit
Télécharger Free Mp3 Wma Converter 2.0Free Mp3 Wma Converter - Free Mp3 Wma Converter permet de convertir tout vos fichiers Mp3 , Wma , Ogg , AAC , m4a , mp4 , Ape , flac, Wav : ...Catégorie: Conversion
Licence: Freeware/gratuit
Télécharger AMV Convert Tool 3.68AMV Convert Tool - Le package MP3 Player Utilities contient notamment un lecteur permettant de lire les fichiers au format AMV ainsi qu'un...Catégorie: Edition vidéo
Licence: Freeware/gratuit
Télécharger Mobile 3GP Converter 1.0Mobile 3GP Converter - Le programme "Mobile 3GP Converter" permet de convertir des fichiers au format 3GP (extension *.3gp ou *.3g2) vers un...Catégorie: Edition vidéo
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « conversion de base »