我知道,
(a*b)%m = ((a%m)*(b%m))%m
但是有可能溢出.为简单起见,假设整数大小为2位.如果a = 2(即10 2)且b = 2(即10 2),m = 3(即11 2),那么%m和b%m结果为2并且在乘法后,答案为4(即100)不适合整数大小.如果从4开始考虑2-lsb,则最终答案将为0.但实际答案为1.
我该怎么做才能避免这种情况?