Forcer un bit

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 673 fois - Téléchargée 30 fois

Contenu du snippet

EN C

Source / Exemple :


#include<stdio.h> //entréesIOsorties STanDards Prin Scan
#include<conio.h> //entréesIOsorties CONsole Getch()
#include<stdlib.h>
#include<math.h>
#include <ctype.h>
#include<string.h>

void affich_binaire (int val);
void force (int Bit_1, int forc_1,int forc_0_1);

void affich_binaire (int val)
{
        int i;
                gotoxy(10,3);
                printf("la conversion binaire de %3i  est ",val);
                
                for(i=0;i<8;i++)
                {
                if ((val & 0x01) == 0x01)
                        {
                        gotoxy(60-2*i,3);
                        printf("1");
                        }
                        else
                        {
                        gotoxy(60-2*i,3);
                        printf("0");
                        }
                val=val>>1;
                }
}

void force (int Bit_1, int forc_1,int forc_0_1)
{
        int tab[8]={1,2,4,8,16,32,64,128};
        int tab_2[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
        
        int tamp,i,j=0;
        
        i=Bit_1;
        tamp=forc_1;
        
        if(forc_0_1==1)
        {
        tamp=tamp|tab[i];
        }
        else
        {
        tamp=tamp&tab_2[i];
        }
        
        for(j=0;j<8;j++)
                {
                if ((tamp & 0x01) == 0x01)
                        {
                        gotoxy(60-2*j,6);
                        printf("1");
                        }
                        else
                        {
                        gotoxy(60-2*j,6);
                        printf("0");
                        }
                tamp=tamp>>1;
                }
}

void main (void)
{
        int mem_1, val_1, bit, forc_bit;
        char choix,rep;
          
        do
        {
        clrscr();
        gotoxy(5,1);
        printf("entrez une valeur a convertir comprise entre 0 et 255 : ");
        scanf("%i",&val_1);
        }
        while ((val_1 < 0) || (val_1 > 255));

        affich_binaire(val_1);
        getch();

        do
        {
        //clrscr();
        gotoxy(5,9);
        clreol();
        printf("choisissez un forcage a 0 ou 1 : ");
        scanf("%i",&forc_bit);
        }
        while ((forc_bit < 0) || (forc_bit > 1));

        do
        {
        //clrscr();
        gotoxy(5,12);
        clreol();
        printf("choisissez le bit a forcer entre 0 et 7 : ");
        scanf("%i",&bit);
        }
        while ((bit < 0) || (bit > 7));

        force(bit,val_1,forc_bit);
        getch();
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
11
mais il sert a quoi ce programme ?!
Messages postés
1
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
15 février 2004

EN VOILA DU BEAU CODE
ON DIRAIT DU MHEMHEDOU

C'EST VRAI QUE C'EST PAS BAVARD
ET EN PLUS PAS COMMENTE

MAIS EFFICACE

CE SERA SUREMENT MIEUX LE PROCHAIN COUP

OL
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Je ne sais pas , mais son auteur n'est pas trés bavard :(
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
11
je comprend, ca consiste en quoi forcer un bit?

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.