En este ejemplo, aprenderá a convertir números binarios en octales y números octales en binarios de forma manual mediante la creación de una función definida por el usuario.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de C ++:
- Funciones C ++
- Tipos de funciones definidas por el usuario en C ++
- C ++ if, if … else y anidado if … else
- C ++ while y do… while Loop
Ejemplo 1: programa para convertir binario en octal
En este programa, primero convertiremos el número binario a decimal. Luego, el número decimal se convierte en octal.
#include #include using namespace std; int convertBinarytoOctal(long long); int main() ( long long binaryNumber; cout <> binaryNumber; cout << binaryNumber << " in binary = " << convertBinarytoOctal(binaryNumber) << " in octal "; return 0; ) int convertBinarytoOctal(long long binaryNumber) ( int octalNumber = 0, decimalNumber = 0, i = 0; while(binaryNumber != 0) ( decimalNumber += (binaryNumber%10) * pow(2,i); ++i; binaryNumber/=10; ) i = 1; while (decimalNumber != 0) ( octalNumber += (decimalNumber % 8) * i; decimalNumber /= 8; i *= 10; ) return octalNumber; )
Salida
Ingrese un número binario: 10001 10001 en binario = 21 en octal
El número binario introducido por el usuario pasa a convertBinaryToOctal()
funcionar. Y esta función convierte el número en octal y regresa a la main()
función
Ejemplo 2: programa para convertir octal en binario
En este programa, el número octal se convierte a decimal al principio. Luego, el número decimal se convierte en un número binario.
#include #include using namespace std; long long convertOctalToBinary(int); int main() ( int octalNumber; cout <> octalNumber; cout << octalNumber << " in octal = " << convertOctalToBinary(octalNumber) << "in binary"; return 0; ) long long convertOctalToBinary(int octalNumber) ( int decimalNumber = 0, i = 0; long long binaryNumber = 0; while(octalNumber != 0) ( decimalNumber += (octalNumber%10) * pow(8,i); ++i; octalNumber/=10; ) i = 1; while (decimalNumber != 0) ( binaryNumber += (decimalNumber % 2) * i; decimalNumber /= 2; i *= 10; ) return binaryNumber; )
Salida
Ingrese un número octal: 54 54 en octal = 101100
El número octal introducido por el usuario pasa a convertOctalToBinary()
función. Y esta función convierte el número en binario y devuelve la main()
función