C ++ programma binārā skaitļa konvertēšanai oktālā un otrādi

Šajā piemērā jūs iemācīsities manuāli pārveidot bināro skaitli oktālā un oktālo skaitli binārā, izveidojot lietotāja definētu funkciju.

Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:

  • C ++ funkcijas
  • Lietotāja definēto funkciju veidi C ++
  • C ++, ja, ja … cits, un Nested, ja … cits
  • C ++ kamēr un darīt … kamēr cilpa

1. piemērs: Programma binārā konvertēšanai uz oktālu

Šajā programmā mēs vispirms konvertēsim bināro skaitli aiz komata. Pēc tam decimālskaitlis tiek pārvērsts oktālā.

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

Rezultāts

 Ievadiet bināro skaitli: 10001 10001 binārā = 21 oktālā

Lietotāja ievadītais binārais numurs tiek nodots convertBinaryToOctal()darbībai. Šī funkcija pārvērš skaitli oktālā un atgriežas pie main()funkcijas

2. piemērs: programma, lai konvertētu oktālo uz bināro

Šajā programmā astotais skaitlis vispirms tiek pārveidots par decimāldaļu. Pēc tam decimālskaitlis tiek pārveidots par bināro skaitli.

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

Rezultāts

 Ievadiet oktāla skaitli: 54 54 oktobrī = 101100 

Lietotāja ievadītais astotais skaitlis tiek nodots convertOctalToBinary()darbībai. Šī funkcija pārveido skaitli par bināru un atgriež main()funkciju

Interesanti raksti...