В този пример ще се научите да преобразувате двоично число в десетично и десетично число в двоично ръчно чрез създаване на дефинирани от потребителя функции.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:
- C ++ функции
- Видове дефинирани от потребителя функции в C ++
- C ++ рекурсия
- C ++ ако, ако … друго и вложено ако … друго
- C ++ докато и правя … докато Loop
Посетете тази страница, за да научите как да конвертирате двоично число в десетично.
Пример 1: Програма C ++ за преобразуване на двоично число в десетично
#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; )
Изход
Въведете двоично число: 1111 1111 в двоично = 15
Посетете тази страница, за да научите как да конвертирате десетично число в двоично.
Пример 2: Програма C ++ за преобразуване на десетично число в двоично
#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; )
Изход
Въведете десетично число: 19 Стъпка 1: 19/2, остатък = 1, коефициент = 9 стъпка 2: 9/2, остатък = 1, коефициент = 4 стъпка 3: 4/2, остатък = 0, коефициент = 2 стъпка 4 : 2/2, остатък = 0, коефициент = 1 стъпка 5: 1/2, остатък = 1, коефициент = 0 19 в десетичен = 10011 в двоичен файл