Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "conio.h"
- #include <bitset>
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "Russian");
- while (true)
- {
- cout << "Нажмите 1, чтобы перевести из 10 в 2" << endl;
- cout << "Нажмите 2, чтобы перевести из 2 в 10" << endl;
- cout << "Нажмите 3, чтобы перевести из 8 в 2" << endl;
- int key = _getch();
- switch (key)
- {
- case 49:
- {
- int i;
- cout << "Введите число в 10 для перевода в 2: ";
- cin >> i;
- bitset<32> bitset = i;
- cout << "Binary: " << bitset.to_string<char, char_traits<char>, allocator<char> >() << endl;
- break;
- }
- case 50:
- {
- char text[32];
- cout << "Введите число в 2 для перевода в 10: ";
- cin >> text;
- int len = strlen(text);
- bool result = true;
- for (int i = 0; i < len; i++)
- {
- if (text[i] != '0' && text[i] != '1')
- {
- cout << "\nНеправильный ввод. Повторите попытку снова" << endl;
- result = false;
- break;
- }
- }
- if (!result) break;
- bitset<32> value(text);
- cout << "dec:" << value.to_ulong() << endl;
- break;
- }
- case 51:
- {
- char text[64];
- cout << "Введите число в 8 для перевода в 2: ";
- cin >> text;
- int len = strlen(text);
- bool result = true;
- for (int i = 0; i < len; i++)
- {
- if (!(text[i] >= '0' && text[i] <= '7'))
- {
- cout << "\nНеправильный ввод. Повторите попытку снова" << endl;
- result = false;
- break;
- }
- if (!result) break;
- switch (text[i])
- {
- case '0': cout << "000"; break;
- case '1': cout << "001"; break;
- case '2': cout << "010"; break;
- case '3': cout << "011"; break;
- case '4': cout << "100"; break;
- case '5': cout << "101"; break;
- case '6': cout << "110"; break;
- case '7': cout << "111"; break;
- }
- }
- cout << endl;
- break;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement