Сообщение от impersonalis
для проверки на чётность надо проверять младший бит
|
всегда считал что компилятор и сам справится с етой задачей, но отнюдь ((
; 13 : if(i%2)
mov edx, DWORD PTR _i$[esp+8]
and edx, -2147483647 ; 80000001H
jns SHORT $LN5@wmain
dec edx
or edx, -2 ; fffffffeH
inc edx
$LN5@wmain:
je SHORT $LN2@wmain
; 13 : if(i & 0x00000001)
test BYTE PTR _i$[esp+8], 1
je SHORT $LN2@wmain
как видим - результат с проверкой младшего бита намного короче.