Convertir un nombre binaire en décimal et inversement

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 672 fois - Téléchargée 26 fois

Contenu du snippet

Tout est dans le titre, voici deux fonctions sorties d'une adaptation personnelle de mon cours de logique ... Elle permettent de convertir un decimal en binaire et inversement ...

Source / Exemple :


void dec_to_bin ( int dec, int bin[8] )
{
	int i,temp, resultat, reste;
	resultat = dec;
	for (i = 7; i >= 0; i-- )
	{
		temp = resultat;
		resultat = resultat / 2;
		reste = temp - resultat * 2;
		bin[i] = reste;
	}
}

int bin_to_dec (int bin[8] )
{
	int i,temp, resultat;
	resultat = 0;
	for (i = 0; i < 8; i++ )
	{
		resultat = resultat * 2 + bin[i];
	}
	return resultat;
}

Conclusion :


Je suppose que celle -ci n'ont pas besoin de commentaires, le code est assez simple ...

A voir également

Ajouter un commentaire

Commentaires

cs_mogador
Messages postés
33
Date d'inscription
mercredi 18 octobre 2000
Statut
Membre
Dernière intervention
4 janvier 2010
-
et comment je peu faire ca ,

j'ai essyé ca mai ca marche pas:

#include <stdio.h>

int main(int argc, char **argv) {
/*
FILE *fp;
fp=fopen("test.c", "wb");
char x[10]="ABCDEFGHIJ";
fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);
*/

FILE *fp;
fp=fopen("test.c", "rb");
char x[10];//="ABCDEFGHIJ";
fread(x, sizeof(char), 10, fp);

printf("%d================",sizeof(x));
printf("\n");
for(int i=0;i<sizeof(x);i++)
{

printf("%x==========",x[i]);
//printf("\n");
for(int j=7;j>=0;j--)
{
//printf("(%d)",j);
printf("%d",(x[i]>>j)&(255>>7));
}
printf("\n");
}

}
cs_Adeon
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2 -
voila l'idée :

boucle
{
char cOctet FichierSource->Read;
char szOctet[8];
Transformer cOctet en 8 caractères '0' ou '1' et les mettre dans szOctet[8]
for(int i=0;i<8;i++)
{
FichierDestination->Write(szOctet[i]);
}

}
cs_mogador
Messages postés
33
Date d'inscription
mercredi 18 octobre 2000
Statut
Membre
Dernière intervention
4 janvier 2010
-
Bonjour,

je souhaiterais convertir n'importe quel type de fichier (txt, jpg, avi, exe ...) en fichier binaire ou plutot en fichier texte contenant un suite de 0 et 1. et la meme chose faire le contraire.

Merci pour votre aide.

sed
cs_Adeon
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2 -
Pour l'info ( meme si je post ce message 3 ans apres ^^ ) le reste d'une division de A par B se note A%B.

voila !
a++
cs_Funcky
Messages postés
59
Date d'inscription
lundi 31 décembre 2001
Statut
Membre
Dernière intervention
11 mai 2006
-
Ouai, pourquoi pas, en fait les fonctions ici j'avais pa besoin de polus de 8 bits, puisque c'était un traitement d'unsigned char ... en fait pour un fichier lu octet par octet ...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.