private static long FF(long a, long b, long c, long d, long x, long s, long ac) { a += (F(b, c, d)&0xFFFFFFFFL) + x + ac; a = ((a&0xFFFFFFFFL)<< s) | ((a&0xFFFFFFFFL) >>> (32 - s)); a += b; return (a&0xFFFFFFFFL); }
1 回答
已采纳
pardon110
TA贡献1038条经验 获得超227个赞
0xFFFFFFFFL 是十六进制数,&是二进制位运算,其规则是两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。L表示长整数(long),全部f...f用二进制表示为:
0xffffffffL = 1111,1111 1111,1111 1111,1111 1111,1111
a&0xFF.... 这个操作一般都是在将byte数据转成int或者其他整形数据的过程中;使用了这个操作,最终的整形数据只有低8位有数据,其他位数都为0。
添加回答
举报
0/150
提交
取消