C будет брать младший байт при сужающем преобразовании, поэтому, если у вас целочисленное значение 0xCAFEBABE и вы конвертируете его в символ, вы получите значение 0xBE.
Конечно, нет никакой реальной гарантии, что int
- это четыре байта или что char
- один, но я уверен, что логика выполнения усечения всегда будет одинаковой и просто отбросит биты высшего порядка, которые не вписываются в char
.