begin process at 2012 05 28 17:18:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

Binaire Réflechi


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Binaire Réflechi

mercredi 15 décembre 2004 à 19:18:29 | Binaire Réflechi

Matt67

Bonsoir,

Je cherche une petite fonction ou un début d'algorithme pour faire du binaire reflechi. Je m'explique :

decimal | binaire | binaire reflechi | decimal

0 000 000 0
1 001 100 4
2 010 010 2
3 011 110 6
4 100 001 1
5 101 101 5
6 110 011 3
7 111 111 7

et ceci pour n'importe quels nombres du style (2^n) - 1

0 0000 0000 0
1 0001 1000 8
2 0010 0100 4
.
.
14 1110 0111 7
15 1111 1111 15

J'ai bien une methode, en passant par des chaines de caractères mais je l'a trouve un peu "lourde". Si quelqu'un avec un truc avec des masques ou des décalages de bit, etc je suis preneur. (j'ai cherché cet apres midi mais je me suis pris la tête et je n'ai pas trouvé)
J'espere avoir été clair et merci pour vos réponses,

Matt...
mercredi 15 décembre 2004 à 20:30:20 | Re : Binaire Réflechi

BruNews

Administrateur CodeS-SourceS
0 000 000 0
1 001 100 4
y a un lien logique entre les 2 octets ???
Je veux bien jouer mais me faudrait la regle du jeu precise.
ex: inverser les bits ou autre.

ciao...
BruNews, MVP VC++
mercredi 15 décembre 2004 à 20:59:54 | Re : Binaire Réflechi

Matt67

En fait voila

j'ai un tableau de 16 élément (ou plus mais toujours égal a 2^n) et le contenu de chaque élément doit être le binaire reflechi de l'indice
16 = 2^4 codé sur 4 bits :
Ex :
tab[0] = 0
tab[1] = 8
tab[2] = 2
ex ...

Sur 4 bits
0 en binaire naturel 0000 en binaire reflechi 0000 en dec 0
1 en binaire naturel 0001 en binaire reflechi 1000 en dec 8
2 en binaire naturel 0010 en binaire reflechi 0100 en dec 4

en fait si tu regardes le binaire naturel dans un miroir tu as du binaire reflechi...

Ai je été plus clair ?

Matt...
mercredi 15 décembre 2004 à 21:03:57 | Re : Binaire Réflechi

AlexMAN

Membre Club
//Exemple au pif
char buf[12] = "001", *p = buf;
char bufref[12], *r = bufref;

//Va a la fin de la chaine (zero final)
while (*p) p++;
p--; //revient sur le dernier element de la chaine
while (p >= buf) {
*r++ = *p--;
}

*r = 0;

Voila chef ;)

++

+2(p - n)
mercredi 15 décembre 2004 à 21:12:53 | Re : Binaire Réflechi

Matt67

désolé ca ne s'appelle pas du binaire reflechi car le binaire reflechi, on ne change qu'un bit a la fois...

AlexMan merci mais la solution avec les chaines de caractères je l'avais et comme je l'ai deja dit dans mon premier poste je l'a trouve un peu lourd. Convertir mon indice de tableau en chaine binaire puis inverser les bits pour reconvertir en décimal. Je demandais juste s'il y avait plus simple ?

Merci quand même a vous deux,

Matt...
mercredi 15 décembre 2004 à 21:45:43 | Re : Binaire Réflechi

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Semble aller, pas trop le temps de tester, tu verras:

char szappname[] = "InvBits";

BYTE InvertBits(BYTE a)
{
int i;
BYTE b = 0;
for(i = 0; i < 7; i++) {
b |= (a & 1);
b <<= 1;
a >>= 1;
}
b |= (a & 1);
return b;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE x, PSTR y, int z)
{
char buff[36];
BYTE a = 201;
ultoa(a, buff, 2);
MessageBox(0, buff, szappname, 0);
ultoa(InvertBits(a), buff, 2);
MessageBox(0, buff, szappname, 0);
return 0;
}

ciao...
BruNews, MVP VC++
mercredi 15 décembre 2004 à 22:31:11 | Re : Binaire Réflechi

Matt67

Ok, j'imprime et je teste demain merci...

Matt...
jeudi 16 décembre 2004 à 13:58:02 | Re : Binaire Réflechi

Matt67

Bonjour,

Merci BruNews ca marche impeccable et en plus j'ai compris le principe. Bien vu,

Matt...


Cette discussion est classée dans : binaire, decimal, réflechi, reflechi


Répondre à ce message

Sujets en rapport avec ce message

decimal en binaire a l aide d une boucle [ par djkill55 ] j'aimerai savoir cmt ecrire un programe pr passer de decimal en binaire a l'aide d une boucle et non d une fonctionc est assez urgent alors aidez moi Convertir Binaire > decimal et pas l'inverse [ par hop ] Bonjour,J'ai cherché dans le forum comment faire pour convertir un mot binaire en décimal (dans cet ordre et pas dans l'autre)et je n'ai pas trouvé do Convertiur binaire/decimal [ par brice45 ] Bonjour;Je n'arrive pas à réaliser en langage C un programme permettant de lire des données binaire dans un fichier et de les convertir en décimal pou conversion decimal - binaire [ par diabablo ] slt les amisj'aime la programmation mais pour debuter j'ai un peu de soucis tel que la conversion d'un nombre decimal en binaire. en faite ce n'est pa Conversion décimale binaire [ par Coincoinisback ] Bonjour, je dois écrire un programme qui affiche la conversion binaire d'un nombre entier (compris entre 0 et 4 294 067 295, codé sur 32 bits) mais l' conversion decimal à 3 octet distinct [ par abdobergach ] bonjour à tous j'ai une image bmp codé sur 3octet l'opération que je veux faire en début c'est que lors de la saisi d'un nombre décimal codé sur 3 oct transformer un arbre n-aire en un arbre binaire [ par breakkk ] Sridina Svp je veux un algorithme qui transforme un arbre n-aire en un arbre binaire [^^sad1] c urgeeeeent aidez moi svp [^^sad2] lecture à partir d'un fichier binaire qui contient des structures [ par miss_poopoucy ] Bonjour, j'ai un petit problème au niveau de la récupération des structures (Etudiant) enregistrées dans un fichier binaire ,pour les charger ensuite algorithme de conversion d' un fichier binaire en fichier texte [ par hadja123 ] bonjour; je recherche des algorithmes de conversion d' un fichier binaire en du fichier texte cordialement


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,934 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales