!重大发现!

B2018 打印字符

114514%128=82
by maodou0902 @ 2024-08-24 16:59:43


众所周知,char类型会溢出,114514%128刚好等于82
by shanxiwen @ 2024-08-24 17:00:04


楼上两位都不是正解,char 型是会溢出,但是模数是 $256$,而不是 $128$。 如果你取模 $256$ 获得的值在 $[0,127]$ 的话,代表的就是标准 $\text{ASCII}$ 码,比如 $114514 \bmod 256=82$,代表字符 `R`。否则,在 $[128,255]$ 之间的值分别对应了 $[-128,-1]$,这些值没有实际意义。 如果你使用的是 `unsigned char` 类型,那么 $[128,255]$ 之间的值对应的是扩展 $\text{ASCII}$ 标准的 $[128,255]$ 的字符。
by MANGO_GANG @ 2024-08-24 17:25:08


@[maodou0902](/user/759186) @[shanxiwen](/user/947019) 请不要误人子弟。
by MANGO_GANG @ 2024-08-24 17:26:46



by 1and1is3 @ 2024-09-06 13:50:19


@[MANGO_GANG](/user/644410) 已懂,感谢大佬!
by FrogCheems @ 2024-09-15 14:30:34


|