1
E?X % 256 = ?L

在 256 以 10 为底且 % 是模数函数的情况下,这似乎总是有效的。

为什么?

4

3 回答 3

0

“mod 256”是除以 256 后的余数。

在二进制中,这是最低的 8 位(因为 256 是 2 到第 8 位)。

这就像“mod 2”为您提供最低有效位(0 或 1)。

在(十进制,以 10 为底)上,“mod 100”为您提供最后两位小数(2013 mod 100 => 13)。

于 2013-07-17T00:04:54.687 回答
0

这只是数学的工作方式。如果将数字x除以m n ,余数将是xm为底的最低n位数字。

例如,以 10 为底,如果您将任何数字除以 10 n,则除法的余数将是原始数字的最低有效n位。例子:

     5 mod 10^1 =    5 mod 10  =  5
  1245 mod 10^2 = 1245 mod 100 = 45

完全相同的事情发生在二进制 - 256 是 2 8(或 100000000 二进制,如果你愿意的话)。如果您将任何数字除以 100000000,则余数将是该数字的最低有效 8 位。

于 2013-07-17T00:05:46.320 回答
0

简单:当您使用 mod by256您实际上是在使用 mod by100000000

例如:假设你有一个 32 位的数字11110011111111001111011011110000,然后除以256(以 10 为底)/ 100000000,那么你基本上就是取出了数字的最后 8 位11110000,你可以这样想。十进制假设你想要最后 4 位数字,所以你必须取 mod by 10000(base 10) 。二进制数的情况类似

于 2013-07-17T00:09:14.223 回答