Перевод из десятичной в двоичную.
Я как бы сделал перевод в другую систему счисления, но хотелось бы увидеть более эстетичный и простой вариант перевода в двоичную, кто сможет показать хороший пример - пишите.
12345678910111213141516171819202122232425262728293031323334
void convertToBinarySystem() {
setlocale(LC_ALL, "rus");
cout << "Введите число, которое хотите перевести в двоичную систему" << endl;
int a;
double b;
int q;
double doubleres;
cin >> a;
int h = a;
b = a;
int res;
int arr[10];
for (int i = 0; i < 999; i++) {
res = a / 2;
a = res;
doubleres = b / 2;
if (res == doubleres) {
arr[i] = 0;
}
else {
arr[i] = 1;
}
b = res;
if (res == 0) {
q = i;
break;
}
}
cout << h << " в двоичной системе : ";
for(q; q >= 0; q--) {
cout << arr[q];
}
} По дате
По рейтингу
12345678910
std::string s;
while (a > 0) {
s += '0' + (a & 1);
a >>= 1;
}
std::reverse(s.begin(), s.end());
if (s.empty()) {
s = '0';
}
cout << s; #include <iostream>
#include <bitset> //один косяк - разрядность указывается заранее
int main()
{
int a; std::cin >> a; std::cout << std::bitset<16>(a);
}
С помощью вот такой программы можно переводить числа из одной СС в другую