C-program för att konvertera binärt nummer till oktal och vice versa

I det här exemplet lär du dig att konvertera binära tal till oktala 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 oktal

I det här programmet konverterar vi först ett binärt tal till decimal. Därefter konverteras decimaltalet till oktalt.

#include #include int convert(long long bin); int main() ( long long bin; printf("Enter a binary number: "); scanf("%lld", &bin); printf("%lld in binary = %d in octal", bin, convert(bin)); return 0; ) int convert(long long bin) ( int oct = 0, dec = 0, i = 0; // converting binary to decimal while (bin != 0) ( dec += (bin % 10) * pow(2, i); ++i; bin /= 10; ) i = 1; // converting to decimal to octal while (dec != 0) ( oct += (dec % 8) * i; dec /= 8; i *= 10; ) return oct; ) 

Produktion

Ange ett binärt tal: 101001 101001 i binärt = 51 i oktalt 

Program för att konvertera oktal till binär

I detta program omvandlas först ett oktalt tal till decimal. Därefter konverteras decimaltal till binärt tal.

#include #include long long convert(int oct); int main() ( int oct; printf("Enter an octal number: "); scanf("%d", &oct); printf("%d in octal = %lld in binary", oct, convert(oct)); return 0; ) long long convert(int oct) ( int dec = 0, i = 0; long long bin = 0; // converting octal to decimal while (oct != 0) ( dec += (oct % 10) * pow(8, i); ++i; oct /= 10; ) i = 1; // converting decimal to binary while (dec != 0) ( bin += (dec % 2) * i; dec /= 2; i *= 10; ) return bin; ) 

Produktion

Ange ett oktalt tal: 67 67 i oktalt = 110111 i binärt 

Intressanta artiklar...