![]() |
![]() ![]() ![]() ![]() |
|
Умножение больших целых чиселDelphi , Синтаксис , МатематикаУмножение больших целых чисел
Оформил: DeeCo
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;
Here's the translation of the text into Russian: Делфи-программа, которая умножает два больших целочисленных значения с помощью ассемблерного языка. Функция Рассмотрим, как работает программа:
Тестовый код в конце создает экземпляр записи Вот предложение по улучшению: Вместо использования ассемблерного языка можно использовать встроенный оператор умножения в Delphi для достижения identical результата. Например:
Код использует оператор Эта APPROACH, вероятно, будет более эффективной и легкой для поддержки, чем оригинальный код, использующий ассемблерный язык. В статье описано реализация алгоритма умножения больших целых чисел на языке Delphi с использованием машинного кода для ускорения процесса. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Математика ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||