在C语言中对字符进行类型转换时,使用哪些字节来制作字符?

Mat*_*att 2 c casting char

当你从一个int转换为一个char时,你正在减少从4到1使用的字节数.它如何选择它将使用哪个字节作为char?

它需要最重要的字节吗?

或者它最不重要?

或者我应该知道某种规则吗?

tem*_*def 5

在进行缩小转换时,C将采用最低有效字节,因此如果您具有整数值0xCAFEBABE并将其转换为char,则将获得值0xBE.

当然,没有实际保证a int是4个字节或a char是1,但我很确定进行截断的逻辑总是相同的,只会丢弃不适合的高阶位进入char.

  • 实际上,保证`char`是一个字节. (3认同)