.NET 4.x Перевод числа из строки в байт - C#
Формулировка задачи:
При переводе строки типа 10101010 почему-то получается 01010101, и наоборот при переводе 01010101 получаю 10101010.
Но если перевожу например 11111111 или 11110000 то всё работает нормально. Подозреваю что ошибка в 9 строке но что не так не пойму.
Подскажите где я ошибся?
И может кто знает как VS 2015 при отладке в окне переменных сделать двоичное представление числа. У меня там или DEC или HEX.
while (bytes.Length > 0) //В цикле переводим строку в массив байтов { byte tmp = 0; for (byte i=0; i<8; i++) //Делим весь массив на байты { if (bytes.Substring(i, 1) == "0") { tmp &= (byte)~(0x11111110 << i); } else if (bytes.Substring(i, 1) == "1") { tmp |= (byte)(0x00000001 << i); } } }
Решение задачи: «.NET 4.x Перевод числа из строки в байт»
textual
Листинг программы
byte tmp = 0; for (int i=0; i<8; i++) //Делим весь массив на байты { if (bytes[7-i] == '0') { tmp &= (byte)~(254 << i); } else if (bytes[7-i] == "1") { tmp |= (byte)(1 << i); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д