Как я могу преобразовать отрицательное двоичное число в sbyte (c#)C#

Место общения программистов C#
Anonymous
Как я могу преобразовать отрицательное двоичное число в sbyte (c#)

Сообщение Anonymous »

Я связываюсь с C#, и я что -то заметил. Если бы я был экземпляр Sbyte
с 8 битами, такими как 0B_1111_1111 (-1), он бросает ошибку, но если бы я сначала сделал байт с ним, а затем разыгрывает его, теперь он работает. < /P>
//Method 1
sbyte test = 0b_1111_1111; //(-1)fails on run
//Method 2
sbyte test = (sbyte)0b_1111_1111; //(-1)also fails on run
//Method 3
byte temp = 0b_1111_1111; //currently 255
sbyte test = (sbyte)temp; //(-1) no issues now
Console.WriteLine(test); // writes -1
< /code>
Я запутался в том, почему это происходит, поскольку методы 2 и 3 почти идентичны, и единственное отличие состоит в том, что я сделал переменную, чтобы затем быть отменен. Почему это происходит?


Подробнее здесь: https://stackoverflow.com/questions/797 ... -to-sbytec

Вернуться в «C#»