Convertir un nombre binaire en décimal et inversement

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 665 fois - Téléchargée 28 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
11 déc. 2009 à 16:26
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
10 déc. 2009 à 16:05
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
10 déc. 2009 à 15:58
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
8 mai 2007 à 12:16
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
27 févr. 2004 à 14:11
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 ...
Afficher les 6 commentaires

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.