Что происходит при преобразовании из короткого в байтовый в C #?

У меня есть следующий код:

short myShort = 23948;
byte myByte = (byte)myShort;

Теперь я не ожидал myByte , чтобы содержать значение 23948. Я бы предположил, что он будет содержать 255 (я считаю, что это наибольшее значение для байта).

Однако он содержит 140, и это заставило меня задуматься, почему; что на самом деле происходит за кулисами?

Обратите внимание, что я не ищу кого-то, кто решит проблему, из-за которой 23948 не может поместиться в байт, меня просто интересует основная реализация

11
задан Fiona - myaccessible.website 27 September 2011 в 21:03
поделиться