Das hängt von den verwendeten Operationen und Datentypen ab. Ohne
ASM ist es im allgemeinen schwierig. Ich verwende zB für den für mich interessanten Fall der Überlauferkennung bei signed 32-Bit-Addition:
Delphi-Quellcode:
function add32_ovr(x,y: longint; var z: longint): boolean;
{-Add z=x+y with overflow detection}
begin
{See Hacker's delight, Ch 2-12}
{$ifopt Q+}
z := longint(int64(x)+y);
{$else}
z := x+y;
{$endif}
add32_ovr := ((z xor x) and (z xor y)) < 0;
end;
Hinweise für einige Operationen bei
http://www.hackersdelight.org/ oder
http://graphics.stanford.edu/~seander/bithacks.html