Programme C pour convertir un nombre binaire en octal et vice-versa

Dans cet exemple, vous apprendrez à convertir manuellement des nombres binaires en nombres octaux et vice versa en créant une fonction définie par l'utilisateur.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:

  • Fonctions C
  • C Fonctions définies par l'utilisateur

Programme pour convertir le binaire en octal

Dans ce programme, nous allons d'abord convertir un nombre binaire en nombre décimal. Ensuite, le nombre décimal est converti en octal.

#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; ) 

Production

Entrez un nombre binaire: 101001 101001 en binaire = 51 en octal 

Programme pour convertir octal en binaire

Dans ce programme, un nombre octal est d'abord converti en nombre décimal. Ensuite, le nombre décimal est converti en nombre binaire.

#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; ) 

Production

Entrez un nombre octal: 67 67 en octal = 110111 en binaire 

Articles intéressants...