.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);
}
}