I det här exemplet lär du dig att konvertera binära tal till decimal och vice versa manuellt genom att skapa en användardefinierad funktion.
För att förstå detta exempel bör du ha kunskap om följande C-programmeringsämnen:
- C Funktioner
- C Användardefinierade funktioner
Program för att konvertera binär till decimal
#include #include int convert(long long n); int main() ( long long n; printf("Enter a binary number: "); scanf("%lld", &n); printf("%lld in binary = %d in decimal", 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; )
Produktion
Ange ett binärt tal: 110110111 110110111 i binärt = 439
Program för att konvertera decimal till binär
#include #include long long convert(int n); int main() ( int n; printf("Enter a decimal number: "); scanf("%d", &n); printf("%d in decimal = %lld in binary", 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("Step %d: %d/2, Remainder = %d, Quotient = %d", step++, n, rem, n / 2); n /= 2; bin += rem * i; i *= 10; ) return bin; )
Produktion
Ange ett decimaltal: 19 Steg 1: 19/2, Resten = 1, Kvotient = 9 Steg 2: 9/2, Resten = 1, Kvotient = 4 Steg 3: 4/2, Resten = 0, Kvotient = 2 Steg 4 : 2/2, Resten = 0, Kvotient = 1 Steg 5: 1/2, Resten = 1, Kvotient = 0 19 i decimal = 10011 i binär