Обложка канала

๖ۣۜХауди Хо™

десь публикуются интересные заметки, мысли, юмор, книги, эксперименты и многое другое из типичной "программистской" жизни 😏

๖ۣۜХауди Хо™

5 лет назад
Открыть в
Крч делюсь инфой про тайпкасты 🔥 Это когда вы переводите один тип переменной в другой тип. Например, в переменную типа byte на 8 бит не получится запихнуть значение типа ushort на 16 бит или вообще int на 32. Логично? Логично 🌚 Так вот при тайпкасте производится сужение или же расширение конвертируемых значений. В программировании это также называется narrowing и widening conversions. И таким образом, в случае расширяющего преобразования, значение 4 типа byte будет представлено как 00000100 в двоичной системе. Оно же после расширения в ushort будет выглядеть как 0000000000000100. Значение расширилось до 16 бит (разрядов). Однако эти операции также делятся на явные (explicit) и неявные (implicit). Так вот в случае неявных расширяющих преобразований (implicit widening conversion), всё предельно ясно и просто. Компилятор за нас всё перекидывал, лишь расширяя разряды. Причем для беззнаковых типов данных меньшей разрядности к беззнаковому типу большей разрядности, он лишь добавлял биты со значением 0. Логично?