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