namespace CommonConsole { using System; public class Program { public static void Main() { var bytes = new Byte[] { 0x15, 0x33, 0x40, 0x01, 0x00, 0x00, 0x06, 0x12 }; var sirtId = BitConverter.ToUInt64(bytes, 0); var rf = (sirtId >> 24 & 1) == 1 ? 433 : 868; Console.WriteLine(BitConverter.ToString(bytes)); Console.WriteLine(sirtId); Console.WriteLine(rf); Console.WriteLine(); var bits = String.Empty; for (var i = 0; i < 64; i++) { bits += $"{sirtId >> i & 1}"; if (i > 0 && (i + 1) % 4 == 0) { bits += " "; } } Console.WriteLine(bits); //var meterUnits = 5; //var decimalPoint = 3; //bits[0] = (Byte)(meterUnits >> 0 & 1); //bits[1] = (Byte)(meterUnits >> 1 & 1); //bits[2] = (Byte)(meterUnits >> 2 & 1); //bits[3] = (Byte)(meterUnits >> 3 & 1); //bits[4] = (Byte)(meterUnits >> 4 & 1); //bits[5] = (Byte)(decimalPoint >> 0 & 1); //bits[6] = (Byte)(decimalPoint >> 1 & 1); //Console.WriteLine(BitConverter.ToString(bits)); //meterUnits = 0; //meterUnits ^= bits[0]; //meterUnits ^= bits[1] << 1; //meterUnits ^= bits[2] << 2; //meterUnits ^= bits[3] << 3; //meterUnits ^= bits[4] << 4; //decimalPoint = 0; //decimalPoint ^= bits[5]; //decimalPoint ^= bits[6] << 1; //Console.WriteLine(meterUnits); //Console.WriteLine(decimalPoint); } } }