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