我目前正在实现 RC4 解密,并且由于该算法仅适用于 0-255 之间的数字,因此我想编写尽可能安全的代码并正确使用unsigned char
变量而不是普通变量int
。
好吧,尽管这让我遇到了一种我无法预测会发生什么的情况。
给出了 3 个 vars i
, j
, k
:
unsigned char i = 150;
unsigned char j = 155;
unsigned char k = 0;
表达式是否会被正确k = (i + j) % 256
设置k
为49
或被截断?255
i+j
编辑:修复了一个“j”被拼写为“k”