Перевод из десятичной СС в двоичную

273
07 марта 2018, 07:51

Добрый день, есть такой код, переводящий число из 10-й системы в 2-ю.

int x, c;
while (c > 0)
{
   std::cout << bool(x&c);
   c >>= 1;
}

Допустим, возьмем x = 5, c = 4(как я понял нужно брать такое число, которое в двоичной даст столько же битов сколько в x). Теперь перейду к bool(x&c)(пик). После расчетов получаем bool = 1, bool = 0, bool = 1; 101 - 5. Как работает этот перевод?

Answer 1

возьмем некоторое число, например c = 12, оно имеет двоичный вид 1100 и перед ними еще 28 нулей в четырехбайтовых числах (индексация справа налево), и если бы вы указали, что x имеет значение 1, тогда ваш код был бы правильным, если не учесть, что увидим зеркальное отражение, а именно 0011

int x = 1, c = 12;
while (c > 0)
{
   std::cout << bool(x&c);
   c >>= 1;
}
1100 & 1 это 0  // (c & x) с >= 1
0110 & 1 это 0   //  c  >>= 1
0011 & 1 это 1   // c >>= 1  
0001 & 1 это 1 // если сдвинем еще направо, то получим с == 0, и цикл прекратится
READ ALSO
CRT (c++) и unit test

CRT (c++) и unit test

Я недавно узнал, что можно проверять программу на предмет утечки памяти через метод _CrtDumpMemoryLeaks();Т

313
Поиск по ListActivity

Поиск по ListActivity

Как добавить ActionBar в ListActivity и сделать в нем SearchWidget, вернее выполнить поиск элементов по списку(как поиск в плей маркете)?

298
OAuth2 авторизация для Standalone

OAuth2 авторизация для Standalone

Все статьи про OAuth2, которые хоть как-то упоминают Standalone говорят лишь "перехватите как-нибудь код авторизации и отправьте POST запрос для получения...

245
Аналог Pygame, но для Java

Аналог Pygame, но для Java

Нужен простой игровой движок для JavaПринцип роботы должен быть как у Pygame - просто методы отрисовки и обработки столкновений, возможно работа...

274