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

Tutorial di base del linguaggio C

Controllo di flusso del linguaggio C

Funzioni del linguaggio C

Array del linguaggio C

Puntatori del linguaggio C

Stringhe del linguaggio C

Struttura del linguaggio C

File del linguaggio C

Altri C

Manuale di riferimento del linguaggio C

Programma C per convertire un numero binario in decimale

Enciclopedia di esempi di programmazione C

In questo esempio, imparerai a convertire un numero binario in decimale e viceversa creando una funzione definita dall'utente.

Per comprendere questo esempio, dovresti conoscere quanto segueProgrammazione in CArgomento:

Programma per convertire il binario in decimale

#include <math.h>
#include <stdio.h>
int convert(long long n);
int main() {
    long long n;
    printf("Inserisci il numero binario: ");
    scanf("%lld", &n);
    printf("%lld(binario) = %d(decimale)", n, convert(n));
    return 0;
}
int convert(long long n) {
    int dec = 0, i = 0, rem;
    while (n != 0) {
        rem = n % 10;
        n /= 10;
        dec += rem * pow(2, i);
        ++i;
    }
    return dec;
}

Risultato dell'output

Inserisci il numero binario: 110110111
110110111(binario) = 439(decimale)

Programma per convertire il decimale in binario

#include <math.h>
#include <stdio.h>
long long convert(int n);
int main() {
    int n;
    printf("Inserisci il numero decimale: ");
    scanf("%d", &n);
    printf("%d(decimale) = %lld(binario)", n, convert(n));
    return 0;
}
long long convert(int n) {
    long long bin = 0;
    int rem, i = 1, step = 1;
    while (n != 0) {
        rem = n % 2;
        printf("Passo %d: %d/2, resto = %d, quoziente = %d\n", step++, n, rem, n / 2);
        n /= 2;
        bin += rem * i;
        i *= 10;
    }
    return bin;
}

Risultato dell'output

Inserisci il numero decimale: 29
Passo 1: 29/2, resto = 1, quoziente = 14
Passaggio 2: 14/2, rimane = 0, quoziente = 7
Passaggio 3: 7/2, rimane = 1, quoziente = 3
Passaggio 4: 3/2, rimane = 1, quoziente = 1
Passaggio 5: 1/2, rimane = 1, quoziente = 0
29 (decimale) = 11101 (binario)

Enciclopedia di esempi di programmazione C