Добрый день, есть такой код, переводящий число из 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
.
Как работает этот перевод?
возьмем некоторое число, например 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, и цикл прекратится
Я недавно узнал, что можно проверять программу на предмет утечки памяти через метод _CrtDumpMemoryLeaks();Т
Как добавить ActionBar в ListActivity и сделать в нем SearchWidget, вернее выполнить поиск элементов по списку(как поиск в плей маркете)?
Все статьи про OAuth2, которые хоть как-то упоминают Standalone говорят лишь "перехватите как-нибудь код авторизации и отправьте POST запрос для получения...
Нужен простой игровой движок для JavaПринцип роботы должен быть как у Pygame - просто методы отрисовки и обработки столкновений, возможно работа...