В этом примере вы научитесь преобразовывать двоичное число в десятичное и десятичное число в двоичное вручную, создавая пользовательские функции.
Чтобы понять этот пример, вы должны знать следующие темы программирования на C ++:
- Функции C ++
- Типы пользовательских функций в C ++
- Рекурсия C ++
- C ++ if, if… else и Nested if… else
- C ++ while и do … while Цикл
Посетите эту страницу, чтобы узнать, как преобразовать двоичное число в десятичное.
Пример 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 в двоичном формате