int num = 65537;
char p = (char)num; //char = 1;
这是怎么回事?
是不是p=num%(127+128)-1
或 p=num%256
或其他什么?
我需要知道为什么 p 等于 1。
谢谢!
最佳答案
因为 65537 在二进制中是 00000000 00000001 00000000 00000001
,但是 char 类型只有 1 个字节,最后一个字节被认为是 char 值,即 00000001 = 1
关于将 int 转换为 char C 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27077081/