Fonction bizzar !!!!!

Bonjour,
a koi sert cette fonction svp
char * ToBin(int x)
{
char *ans=new char[20];
int i=0;
while(x>=1)
{
if(x%2==1) ans[i]='1'; else ans[i]='0';
x/=2; i++;
}
if(x==1) ans[i]='1',i++;
ans[i]='\0';
strrev(ans);
return(ans);
}
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut,
    Cette fonction, comme son nom l'indique (ToBin : en Binaire) permet de mettre dans une chaîne de caractère la représentation binaire de l'argument.
    1. mais ca sert a koi kand on parle de cryptographie (rsa) ??
  2. Contributeur
    Quand tu fais du chiffrement par bloc (RSA et autre), tu dois prendre chaque code de ton message et le convertir en binaire. Ensuite tu fais des blocs de N bits qui vont chacun être chiffrés avec l'algorithme.
    Cdlt
    1. je peux avoir ton email b1 sure si c possible .....
    2. Contributeur
      @netssiNon désolé. Pose tes questions ici, ça fera profiter tout le monde ;)
    3. @fiddyc bien et gentil de penser aux autres *-*
      cdlt
    4. @fiddyt raison :d
      alors je vx avoir l utilité de chak ligne de cette fonction
  3. Contributeur
    Je commente chaque ligne :
    char * ToBin(int x)
    {
    char *ans=new char[20]; //déclaration d'une chaîne de caractère de 19 éléments (le 20è devant être le \0)
    int i=0;
    while(x>=1) 
    {
    if(x%2==1) ans[i]='1'; else ans[i]='0'; //on met le reste de x par 2 dans ans[i]. Plus court serait : ans[i]=x%2 + '0';
    x/=2; i++; //on récupère le quotient de x par 2, et on se décale d'un cran vers la droite pour la chaîne (éviter de récrire par dessus)
    }
    if(x==1) ans[i]='1',i++;  //si x vaut 1, alors on rajoute un 1.
    ans[i]='\0'; //le fameux \0 qui permet de terminer la chaîne.
    strrev(ans); //inverser la chaîne
    return(ans); //retourne la chaîne
    }

    Cdlt
    1. merci grave monsieur
      une dérniere quetion : la fonction BigInt ??????????????????????????????????????????????