Как я могу преобразовать отрицательное двоичное число в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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