Извиняюсь за глупый вопрос, но как то тяжеловато дается понять как происходит считывание по битно в C#. Нашел на просторах интернета вот этот код, можете помочь разобраться что тут происходит?
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
namespace hdlc_ip
{
class Program
{
static void Main(string[] args)
{
FileStream file = new FileStream("C:\\1.txt",
FileMode.Open, FileAccess.Read);
byte[] buf = new byte[1024];
int r = -1;
byte b;
while (r != 0)
{
r = file.Read(buf, 0, buf.Length);
for (int j = 0; j < r; j++)
{
b = buf[j];
for (int i = 7; i >= 0; i--)
Console.Write((b >> i) & 1);
Console.Write((j + 1) % 4 == 0 ? '\n' : ' ');
}
}
file.Close();
Console.ReadKey(true);
}
}
}