Все понимаю, но хз какой пес там нужны ">>" Нужно узнать чему равна переменная Z int X = 4, Y = 6; int Z = Y >> X;
PEUCUK, Спасибо, но у меня в задании спрашивается чему равно Z, получается оно равно 0? Ибо после равно никакого сложения или другого действия не происходит
Это называется побитовым сдвигом. В данном случае - побитовым сдвигом вправо. И да, Z равно 0. Почему так происходит и почему оно равно 0? В строку с побитовым сдвигом подставим соответствующие значения: 6 и 4. Таким образом: 6 >> 4. Т.е побитовый сдвиг на 4. Представим 6 в бинарной системе счисления: 6 = 0110. Для наглядности я сделаю так: 6 >> 1 0110 >> 1 => 0011, 0011 = 3 6 >> 2 0110 >> 2 => 0001, 0001 = 1 6 >> 3 0110 >> 3 => 0000 Code 6 >> 1 0110 >> 1 => 0011, 0011 = 3 6 >> 2 0110 >> 2 => 0001, 0001 = 1 6 >> 3 0110 >> 3 => 0000 4 нет смысла проверять, оно также будет равно 0. Т.е мы смещаем (в данном случае вправо) заданное значение (в данном случае 6) на определенное целое количество битов (в данном случае на 4). Ну, это максимально тривиальное объяснение.
Оператор побитового сдвига вправо (>>) сдвигает биты вправо. Например: 12 = 1100 12 >> 1 = 0110 = 6 12 >> 2 = 0011 = 3 12 >> 3 = 0001 = 1 В третьем случае мы снова переместили бит за пределы литерала. Он также потерялся навсегда.