En C, comment écrire une fonction qui convertit un entier en binaire dans une chaîne de caractères ?
La fonction C suivante permet de convertir un entier en binaire et d'enregistrer le résultat dans une chaîne de caractères :
// Convertit un entier en binaire
// integer : l'entier à convertir
// binary : la chaîne de caractères qui va contenir le résultat
// n : nombre de bits (8, 16, 32 ...)
void int2bin(unsigned integer, char* binary, int n=8)
{
for (int i=0;i<n;i++)
binary[i] = (integer & (int)1<<(n-i-1)) ? '1' : '0';
binary[n]='\0';
}
Testez la fonction en ligne sur repl.it.
Il existe une autre option, plus conviviale qui retourne directement la chaîne de caractères. Mais attention, la mémoire nécessaire à la chaîne de caractères est allouée dans la fonction, il est nécessaire de la libérer en dehors de la fonction.
// Convertit un entier en binaire
// integer : l'entier à convertir
// n : nombre de bits (8, 16, 32 ...)
// Retourne une chaîne de caractères contenant le mot binaire
char* int2bin(unsigned integer, int n=8)
{
char* binary = (char*)malloc(n+1);
for (int i=0;i<n;i++)
binary[i] = (integer & (int)1<<(n-i-1)) ? '1' : '0';
binary[n]='\0';
return binary;
}
Testez la fonction en ligne sur repl.it.
Voire aussi :
- En C, comment convertir un entier en binaire ?
- En C, comment écrire une fonction qui affiche un entier en binaire ?
- En C, comment écrire une fonction qui convertit un entier en binaire (dans un autre entier) ?
- Avec l'environnement Arduino, comment afficher un entier en binaire ?
La fonction C suivante permet de convertir un entier en binaire et d'enregistrer le résultat dans une chaîne de caractères :
// Convertit un entier en binaire
// integer : l'entier à convertir
// binary : la chaîne de caractères qui va contenir le résultat
// n : nombre de bits (8, 16, 32 ...)
void int2bin(unsigned integer, char* binary, int n=8)
{
for (int i=0;i<n;i++)
binary[i] = (integer & (int)1<<(n-i-1)) ? '1' : '0';
binary[n]='\0';
}
Testez la fonction en ligne sur repl.it.
Il existe une autre option, plus conviviale qui retourne directement la chaîne de caractères. Mais attention, la mémoire nécessaire à la chaîne de caractères est allouée dans la fonction, il est nécessaire de la libérer en dehors de la fonction.
// Convertit un entier en binaire
// integer : l'entier à convertir
// n : nombre de bits (8, 16, 32 ...)
// Retourne une chaîne de caractères contenant le mot binaire
char* int2bin(unsigned integer, int n=8)
{
char* binary = (char*)malloc(n+1);
for (int i=0;i<n;i++)
binary[i] = (integer & (int)1<<(n-i-1)) ? '1' : '0';
binary[n]='\0';
return binary;
}
Testez la fonction en ligne sur repl.it.
Voire aussi :
- En C, comment convertir un entier en binaire ?
- En C, comment écrire une fonction qui affiche un entier en binaire ?
- En C, comment écrire une fonction qui convertit un entier en binaire (dans un autre entier) ?
- Avec l'environnement Arduino, comment afficher un entier en binaire ?
# | ID | Query | URL | Count |
---|---|---|---|---|
0 | 866 | nomenbre entier en binaire langage c | https://fr.ans.wiki/2642/en-c-comment-ecrire-une-fonction-qui-convertit-un-entier-en-binaire-dans-une-chaine-de-caracteres | 1 |