I have a byte say 1 byte of elements of 8.. How do i get the bit each values? for example, I want 16th bit value, 17th bit, 18th bit so on..
byte[] _byte = new byte[8];
You can use BitArray() constructor BitArray((Byte[]) to get bits array from byte array. Use indexer on the bit array to get the required bit.
var bits = new BitArray(_byte);
Now bit 16 would be bits[15];
You can follow this example to understand how you can get the require bit.
byte[] _byte = new byte[3] {1,3,7};
var bits = new BitArray(_byte);
for(int i=0; i < bits.Length; i++)
Console.WriteLine(bits[i]);
Output:
True present 1 at bit and false present 0 at bit
First Byte Value = 1 = 00000001 (Binary)
True = 1 0 bit index
False = 0 1 bit index
False = 0 2 bit index
False = 0 3 bit index
False = 0 4 bit index
False = 0 5 bit index
False = 0 6 bit index
False = 0 7 bit index
Second Byte Value = 3 = 00000011 (Binary)
True = 1 8 bit index
True = 1 9 bit index
False = 0 10 bit index
False = 0 11 bit index
False = 0 12 bit index
False = 0 13 bit index
False = 0 14 bit index
False = 0 15 bit index
Third Byte Value = 7 = 00000111 (Binary)
True = 1 16 bit index
True = 1 17 bit index
True = 1 18 bit index
False = 0 19 bit index
False = 0 20 bit index
False = 0 21 bit index
False = 0 22 bit index
False = 0 23 bit index