Вы находитесь на странице: 1из 3

#include <iostream>

#include <string>

#include <cmath>

using namespace std;

// Функция для перевода числа из двоичной системы в десятичную

int binaryToDecimal(string binary) {

int decimal = 0;

int power = 0;

for (int i = binary.length() - 1; i >= 0; --i) {

if (binary[i] == '1') {

decimal += pow(2, power);

++power;

return decimal;

// Функция для перевода числа из восьмеричной системы в десятичную

int octalToDecimal(string octal) {

int decimal = 0;

int power = 0;

for (int i = octal.length() - 1; i >= 0; --i) {

int digit = octal[i] - '0';

decimal += digit * pow(8, power);

++power;

return decimal;

}
// Функция для перевода числа из шестнадцатеричной системы в десятичную

int hexToDecimal(string hex) {

int decimal = 0;

int power = 0;

for (int i = hex.length() - 1; i >= 0; --i) {

int digit;

if (hex[i] >= '0' && hex[i] <= '9') {

digit = hex[i] - '0';

} else {

digit = hex[i] - 'A' + 10;

decimal += digit * pow(16, power);

++power;

return decimal;

int main() {

string binaryInput, octalInput, hexInput;

// Ввод чисел в различных системах счисления

cout << "Введите число в двоичной системе: ";

cin >> binaryInput;

cout << "Введите число в восьмеричной системе: ";

cin >> octalInput;

cout << "Введите число в шестнадцатеричной системе: ";

cin >> hexInput;

// Перевод в десятичную систему и вывод результата

cout << "Число в десятичной системе (из двоичной): " << binaryToDecimal(binaryInput) <<
endl;
cout << "Число в десятичной системе (из восьмеричной): " << octalToDecimal(octalInput) <<
endl;

cout << "Число в десятичной системе (из шестнадцатеричной): " << hexToDecimal(hexInput)
<< endl;

return 0;

Вам также может понравиться