将int转换为char C公式

Xio*_*biq 3 c int char modulo

int num = 65537;
char p = (char)num; //char = 1;
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?它是p=num%(127+128)-1 或者p=num%256还是其他什么东西?我需要知道为什么p等于1.谢谢!

ksm*_*123 6

由于65537是00000000 00000001 00000000 00000001二进制的,但char类型只有1个字节,最后一个字节被认为是char值,即00000001 = 1