Естественно.
Со знаковыми же типами данных (signed) , при расширении новые разряды заполняются нулями, если число положительное и единицами, если отрицательное.
То есть sbyte 4 в short 4 будет выглядеть как 000000000000100
А вот sbyte -4 в short -4 уже как 111111111111100
То есть заполнение идет путем копирования знакового бита.
Ну вы поняли крч.
Все ведь знают, что в знаковых типах данных ведущий разряд отображает знак?
Да.
Так вот крч это всё называется безопасной конвертацией.
Почему - я думаю тоже уже понятно, мы ведь тупо расширяемся.
Но что если мы захотим перебросить условный int в byte?
Такая операция уже будет считаться небезопасной.
А значит тут потребуется применить явное преобразование (explicit conversion).
Где вы сами будете решать, как эту ересь перекинуть из 32 в 8 бит лол :3
Рил задумались как? А никак!)
Меняйте тип или довольствуйтесь 8 битным пулом в памяти.
Ыыыыыыыы