Convertir un nombre binaire en décimal et inversement

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 833 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

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");
}

}
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]);
}

}
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
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++
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 ...
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.