Fonction bizzar !!!!!

Fermé
netssi - 20 nov. 2008 à 00:52
 netssi - 20 nov. 2008 à 22:37
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);
}
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
20 nov. 2008 à 00:56
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.
0
mais ca sert a koi kand on parle de cryptographie (rsa) ??
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
20 nov. 2008 à 01:34
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
0
je peux avoir ton email b1 sure si c possible .....
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844 > netssi
20 nov. 2008 à 13:15
Non désolé. Pose tes questions ici, ça fera profiter tout le monde ;)
0
amie > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
20 nov. 2008 à 13:18
c bien et gentil de penser aux autres *-*
cdlt
0
netssi > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
20 nov. 2008 à 13:49
t raison :d
alors je vx avoir l utilité de chak ligne de cette fonction
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
20 nov. 2008 à 14:01
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
0
merci grave monsieur
une dérniere quetion : la fonction BigInt ??????????????????????????????????????????????
0