Не пойму пример задачи про поразрядный оператор & - C#

Узнай цену своей работы

Формулировка задачи:

 
using System; 
 
class ShowBits { 
  static void Main() { 
    int t; 
    byte val;  
  
    val = 123; 
    for(t=128; t > 0; t = t/2) { 
      if((val & t) != 0) Console.Write("1 ");  
      if((val & t) == 0) Console.Write("0 ");  
    } 
  } 
}
Результат: 01111011 Программа выводит двоичное представление числа val. Скажите, почему в цикле for для перебора разрядов используется число 128, которое с каждой итерацией уменьшается на 2? Почему там не может быть просто число 1? И правильно ли я понимаю, что обход двоичного числа начинается с младшего разряда (то бишь с права налево)? Спасибо.

Решение задачи: «Не пойму пример задачи про поразрядный оператор &»

textual
Листинг программы
 //init
            byte init = 105;
 
            //result
            for (int i = 0; i < 8; i++, init <<= 1) Console.Write((init >=128) ? "1" : "0");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5
Похожие ответы