Warum liefern diese zwei Bedingungen verschiedene Ergebnisse?
Delphi-Quellcode:
var
edx : DWORD;
begin
edx := $C1C3FBFF;
if (edx and (1 shl 31) ) = (1 shl 31) then
ShowMessage('shl: ja');
if (edx and $80000000 ) = $80000000 then
ShowMessage('hex: ja');
end;
(1 shl 31) entspricht doch $80000000 oder sehe ich da was falsch? Mit (1 shl 30) und $40000000 und allen anderen < 31 geht es doch auch.