Объясните, как показываются биты, составляющие байт? - C#

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

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

Здравствуйте, изучаю C# по Шилдту, дошёл до работы с битами. Более-менее понял как считаются числа в двоичной системе, понял как определяется чётное и не чётное с помощью оператора &. Но не могу понять, как преобразовались биты. Вот код программы:
// Показать биты, составляющие байт.
using System;
class ShowBits {
  static void Main() {
    int t;
    byte val;
    val = 123;
 
    for (t=l28; t > 0; t = t/2) 
    {
      if((val & t) != 0) Console.Write("1 ");
      if((val & t) == 0) Console.Write("0 ");
    }
  }
}
Выполнение этой программы дает следующий результат. 0 1 1 1 1 0 1 1 В книжке объяснения не нашёл, может кто-то объяснить принцип? Потому что я вижу так: в цикле несколько раз подряд будет четное число и в сравнении с переменной val будет результат 0, а программа выдаёт 0 1 1 1 и так далее. Заранее спасибо.

Решение задачи: «Объясните, как показываются биты, составляющие байт?»

textual
Листинг программы
123 & 128 => 0
123 & 64 => 1
123 & 32 => 1
123 & 16 => 1
123 & 8 => 1
123 & 4 => 0
123 & 2 => 1
123 & 1 => 1

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


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

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

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