RFC1321

我注意到这段代码:

if ((context->count[0] += ((UINT4)inputLen << 3)) < ((UINT4)inputLen << 3))
    context->count[1]++;
context->count[1] += ((UINT4)inputLen >> 29);


我不明白这种比较:

((UINT4)inputLen << 3)) < ((UINT4)inputLen << 3))


就像总是返回0,对吧?

最佳答案

没有这样的比较。看看括号是如何配对的:

它是

(X < ((UINT4)inputLen << 3))


其中X =

(context->count[0] += ((UINT4)inputLen << 3))

09-26 04:00