Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Multiplicera mycket stora heltal
|
Kategori: Matematik
Inlagt: 2004-04-19
Läst: 1459
Inlagt av: Staffan Berg
|
Beskrivning |
Detta intressanta räkneexempel multiplicerar väldigt stora integer-värden.
|
Kod |
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; // Testa funktion här: var r: IntNo; begin r := Multiply(40000000, 80000000); ShowMessage(IntToStr(r.Hi32) + ', ' + IntToStr(r.low32)) end;
|
|
|