/
sacred_words
/
Laba7
Обзор
Документация
Войти
/
sacred_words
/
Laba7
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
5Zad.cpp
38 строк
2 KB
sacred_words
create: 5Zad.cpp
07 май 2026, 14:32
Верифицирован
07 май 2026, 14:32
6eee33e
Код
Авторство
О чём код?
#include <iostream> #include <string> #include <bitset> #include <sstream> #include <iomanip> using namespace std; int main() { setlocale(LC_ALL, "Russian"); string hexInput, binInput; cout << "Введите шестнадцатеричное число: "; cin >> hexInput; cout << "Введите двоичное число: "; cin >> binInput; // 1. Из HEX в BIN // Превращаем строку в число (основание 16) unsigned long hexVal = stoul(hexInput, nullptr, 16); // Переводим в двоичную строку через bitset string hexToBin = bitset<64>(hexVal).to_string(); // Удаляем ведущие нули size_t firstOne = hexToBin.find_first_not_of('0'); if (string::npos != firstOne) { hexToBin = hexToBin.substr(firstOne); } else { hexToBin = "0"; } // 2. Из BIN в HEX // Превращаем строку в число (основание 2) unsigned long binVal = stoul(binInput, nullptr, 2); // Используем строковый поток для форматированного вывода в 16-ричном виде stringstream ss; ss << hex << uppercase << binVal; string binToHex = ss.str(); cout << "\n--- Результаты ---" << endl; cout << "HEX " << hexInput << " в двоичной: " << hexToBin << endl; cout << "BIN " << binInput << " в шестнадцатеричной: " << binToHex << endl; return 0; }