C-program för att konvertera binärt tal till decimal och vice versa

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 

Intressanta artiklar...