Умножение больших целых чисел |
Previous Top Next |
Code: |
type IntNo = record Low32, Hi32: DWORD; end;
function Multiply(p, q: DWORD): IntNo; var x: IntNo; begin asm MOV EAX,[p] MUL [q] MOV [x.Low32],EAX MOV [x.Hi32],EDX end; Result := x end;
// Test the above with: // So kannst du es testen
var r: IntNo; begin r := Multiply(40000000, 80000000); ShowMessage(IntToStr(r.Hi32) + ', ' + IntToStr(r.low32)) end; |
©Drkb::04068
Взято с сайта: http://www.swissdelphicenter.ch