English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base C

Contrôle de flux C

Fonctions en C

Tableaux en C

Pointeurs en C

Chaînes de caractères en C

Structure C

Fichier C

Autres C

Manuel de référence C

Programme C pour convertir binaire et octal

Recueil complet d'exemples de programmation en C

Dans cet exemple, vous allez apprendre à convertir manuellement un nombre binaire en octal et un nombre octal en binaire en créant des fonctions utilisateur définies.

Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation en CSujet :

Programme pour convertir un nombre binaire en octal

Dans ce programme, nous allons d'abord convertir le nombre binaire en decimal. Ensuite, le nombre decimal en octal.

#include <math.h>
#include <stdio.h>
int convert(long long bin);
int main() {
    long long bin;
    printf("Entrez un nombre binaire: ");
    scanf("%lld", &bin);
    printf("%lld (binaire) = %d (octal)", bin, convert(bin));
    return 0;
}
int convert(long long bin) {
    int oct = 0, dec = 0, i = 0;
    //Convertir un nombre binaire en decimal
    while (bin != 0) {
        dec += (bin %% 10) * pow(2, i);
        ++;
        bin /= 10;
    }
    i = 1;
    //Conversion de decimal à octal
    while (dec != 0) {
        oct += (dec % 8) * ;
        dec /= 8;
        i *= 10;
    }
    return oct;
}

Résultat de la sortie

Entrez un nombre binaire: 101001
101001=(binaire) = 51(octal)

Programme pour convertir un nombre octal en binaire

Dans ce programme, le nombre octal est d'abord converti en nombre decimal. Ensuite, le nombre decimal est converti en nombre binaire.

#include <math.h>
#include <stdio.h>
long long convert(int oct);
int main() {
    int oct;
    printf("Entrez un nombre octal: ");
    scanf("%d", &oct);
    printf("%d (octal) = %lld (binaire)", oct, convert(oct));
    return 0;
}
long long convert(int oct) {
    int dec = 0, i = 0;
    long long bin = 0;
    // Convertir un nombre octal en decimal
    while (oct != 0) {
        dec += (oct %% 10) * pow(8, i);
        ++;
        oct /= 10;
    }
    i = 1;
   // Conversion de décimal à binaire
    while (dec != 0) {
        bin += (dec % 2) * ;
        dec /= 2;
        i *= 10;
    }
    return bin;
}

Résultat de la sortie

Entrez un nombre octal: 51
51(Octal) =101001(Binaire)

Recueil complet d'exemples de programmation en C