После ввода отрицательного значения, скажем, -1 в переменную sbyte, отладчик показывает значение 0xFFFFFFFF - 4 байта:
После преобразования в Int32 большего типа значение останется 0xFFFFFFFF. Почему это не 0x000000FF?
В случае положительных значений sbyte хранит только 1 байт.