Šiame pavyzdyje išmoksite konvertuoti dvejetainį skaičių į dešimtainį, o dešimtainį skaičių į dvejetainį rankiniu būdu, sukurdami vartotojo nustatytas funkcijas.
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C ++ programavimo temas:
- C ++ funkcijos
- Vartotojo nustatytų funkcijų tipai C ++
- C ++ rekursija
- C ++, jei, jei… dar kitaip, ir įdėta, jei … kita
- C ++, o ir darykite … kol kilpa
Apsilankykite šiame puslapyje ir sužinokite, kaip konvertuoti dvejetainį skaičių į dešimtainį.
1 pavyzdys: C ++ programa, skirta konvertuoti dvejetainį skaičių į dešimtainį
#include #include using namespace std; int convertBinaryToDecimal(long long); int main() ( long long n; cout <> n; cout << n << " in binary = " << convertBinaryToDecimal(n) << "in decimal"; return 0; ) int convertBinaryToDecimal(long long n) ( int decimalNumber = 0, i = 0, remainder; while (n!=0) ( remainder = n%10; n /= 10; decimalNumber += remainder*pow(2,i); ++i; ) return decimalNumber; )
Rezultatas
Įveskite dvejetainį skaičių: 1111 1111 dvejetainiu = 15
Apsilankykite šiame puslapyje, kad sužinotumėte, kaip dešimtainį skaičių paversti dvejetainiu.
2 pavyzdys: C ++ programa, skirta dešimtainiam skaičiui konvertuoti į dvejetainį
#include #include using namespace std; long long convertDecimalToBinary(int); int main() ( int n, binaryNumber; cout <> n; binaryNumber = convertDecimalToBinary(n); cout << n << " in decimal = " << binaryNumber << " in binary" << endl ; return 0; ) long long convertDecimalToBinary(int n) ( long long binaryNumber = 0; int remainder, i = 1, step = 1; while (n!=0) ( remainder = n%2; cout << "Step " << step++ << ": " << n << "/2, Remainder = " << remainder << ", Quotient = " << n/2 << endl; n /= 2; binaryNumber += remainder*i; i *= 10; ) return binaryNumber; )
Rezultatas
Įveskite dešimtainį skaičių: 19 1 veiksmas: 19/2, likutis = 1, koeficientas = 9 2 žingsnis: 9/2, likutis = 1, koeficientas = 4 3 žingsnis: 4/2, likutis = 0, koeficientas = 2 4 žingsnis : 2/2, likutis = 0, koeficientas = 1 5 žingsnis: 1/2, likutis = 1, koeficientas = 0 19 dešimtainiu skaičiumi = 10011 dvejetainiu skaičiumi