Program w C ++ do konwersji liczby ósemkowej na dziesiętną i odwrotnie

W tym przykładzie nauczysz się ręcznie konwertować liczbę ósemkową na dziesiętną i dziesiętną na ósemkową, tworząc funkcję zdefiniowaną przez użytkownika.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:

  • Funkcje C ++
  • Typy funkcji zdefiniowanych przez użytkownika w C ++
  • C ++ if, if… else i Nested if… else
  • C ++ while i do… while Loop

Przykład 1: Konwersja liczby ósemkowej na dziesiętną

 #include #include using namespace std; int octalToDecimal(int octalNumber); int main() ( int octalNumber; cout <> octalNumber; cout << octalNumber << " in octal = " << octalToDecimal(octalNumber) << " in decimal"; return 0; ) // Function to convert octal number to decimal int octalToDecimal(int octalNumber) ( int decimalNumber = 0, i = 0, rem; while (octalNumber != 0) ( rem = octalNumber % 10; octalNumber /= 10; decimalNumber += rem * pow(8, i); ++i; ) return decimalNumber; ) 

Wynik

 Wprowadź liczbę ósemkową: 2341 2341 ósemkowo = 1249 dziesiętnie 

W programie liczba ósemkowa jest przechowywana w zmiennej octalNumber i przekazywana do funkcji octalToDecimal().

Ta funkcja konwertuje liczbę ósemkową przekazaną przez użytkownika na jej równoważną liczbę dziesiętną i zwraca ją do main()funkcji.

Przykład 2: Konwersja liczby dziesiętnej na ósemkową

 #include #include using namespace std; int decimalToOctal(int decimalNumber); int main() ( int decimalNumber; cout <> decimalNumber; cout << decimalNumber << " in decimal = " << decimalToOctal(decimalNumber) << " in octal"; return 0; ) // Function to convert decimal number to octal int decimalToOctal(int decimalNumber) ( int rem, i = 1, octalNumber = 0; while (decimalNumber != 0) ( rem = decimalNumber % 8; decimalNumber /= 8; octalNumber += rem * i; i *= 10; ) return octalNumber; ) 

Wynik

 Wprowadź liczbę dziesiętną: 78 78 dziesiętnie = 116 ósemkowo 

W programie liczba dziesiętna jest przechowywana w zmiennej decimalNumber i przekazywana do funkcji decimalToOctal().

Ta funkcja konwertuje liczbę dziesiętną przekazaną przez użytkownika na jej równoważną liczbę ósemkową i zwraca ją do main()funkcji.

Interesujące artykuły...