能力值:
( LV13,RANK:410 )
|
-
-
2 楼
针对(y >> 2)*4 + (y AND 3)=x
y>>2等效于y/4,再*4=y。但是会产生将y的最后2个二进制位清零的效果。
y and 3,由于3=11(二进制),相当于保留y的二进制最后2位。
所以结论是这个式子等价于y=x
PS:不过楼主啊,看你给出的代码片段好象不足以得出(y >> 2)*4 + (y AND 3)=x这个式子饿~
|
能力值:
( LV8,RANK:130 )
|
-
-
3 楼
这个算法好,颇受启发,以后可以利用一下
|
能力值:
(RANK:650 )
|
-
-
4 楼
根据这个算法的结构
似乎在
SHR ECX,2
REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
MOV ECX,EBX
AND ECX,3
REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
前应该还有一句
MOV EBX, ECX
|
能力值:
( LV9,RANK:850 )
|
-
-
5 楼
最初由 无聊的菜鸟 发布 针对(y >> 2)*4 + (y AND 3)=x
y>>2等效于y/4,再*4=y。但是会产生将y的最后2个二进制位清零的效果。 y and 3,由于3=11(二进制),相当于保留y的二进制最后2位。
........
讲得好!
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
最初由 shoooo 发布 根据这个算法的结构 似乎在 SHR ECX,2 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] MOV ECX,EBX ........
嘿嘿,有点象memcpy函数似的
|
|
|