Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <string>
- using namespace std;
- //функция для преобразования в шестнадцатиричные числа
- string decToHex(int num) {
- string result;
- int ukaz(0);
- char hex_num[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
- //в случае если заданное число отрицательное
- if (num < 0) {
- //выполняется инверсия битов заданного числа и добавляется единица так-как у данной операции есть погрешность в 1 бит
- }
- //цикл с постусловием
- do
- {
- ukaz = num % 16;
- num /= 16;
- result = hex_num[ukaz] + result;
- }
- while (num != 0);
- //------------
- return(result);
- }
- //функция для преобразования в бинарные числа
- string decToBin(int num) {
- string result;
- int ukaz(0);
- char bin_num[16] = { '0','1'};
- //в случае если заданное число отрицательное
- if (num < 0) {
- //выполняется инверсия битов заданного числа и добавляется единица так-как у данной операции есть погрешность в 1 бит
- num = ~num + 1;
- }
- //цикл с постусловием
- do
- {
- ukaz = num % 2;
- num /= 2;
- result = bin_num[ukaz] + result;
- } while (num != 0);
- //------------
- return result;
- }
- //функция для преобразования в восьмиричные числа
- string decToOctal(int num) {
- string result;
- int ukaz(0);
- char bin_num[8] = { '0','1','2','3','4','5','6','7' };
- //в случае если заданное число отрицательное
- if (num < 0) {
- //выполняется инверсия битов заданного числа и добавляется единица так-как у данной операции есть погрешность в 1 бит
- }
- //цикл с постусловием
- do
- {
- ukaz = num % 8;
- num /= 8;
- result = bin_num[ukaz] + result;
- } while (num != 0);
- //------------
- return(result);
- }
- //функция для зацикливания программы
- int main_loop()
- {
- setlocale(LC_ALL, "Russian");
- cout << "Введите число: ";
- int number;
- cin >> number;
- //ветвление для завершения программы в случае ввода 0
- if (number == 0) {
- exit(1);
- }
- cout << "В 16-тиричной системе: " << decToHex(number) << endl;
- cout << "В 2-ой системе: " << decToBin(number) << endl;
- cout << "В 8-миричной системе: " << decToOctal(number) << endl;
- cout << endl << endl;
- return 0;
- }
- int main() {
- while (true) {
- main_loop();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement