|
Туториал по работе с длинными целыми |
|
Автор: Михалкович Станислав
|
|
08.02.2011 11:52 |
Тип System.Numeric.BigInteger в стандартной поставке .NET появился лишь в версии 4.0. К счастью, имеется множество сторонних реализаций. Рассмотрим реализацию, опубликованную здесь.
Поскольку она опубликована в виде исходного текста, я собрал на ее основе сборку BigInteger.dll - ее требуется скачать и поместить в каталог программы.
После этого можно приступать к программированию.
Вот простая программа:
{$reference BigInteger.dll}
uses
System.Sfedu.Numeric;
begin
var a := new BigInteger('8968565765674744564654');
var b := new BigInteger(1235456436);
writelnFormat('{0} {1} {2} {3}', a div b, a mod b, a + b, a - b);
writelnFormat('{0} {1} {2} {3}', a + 1, a / 2, a * 2, a < b);
writelnFormat('{0} {1} {2}', a.Negate, a=0, BigInteger.ToInt64(b));
a := 1;
for var i:=1 to 100 do
a := a * i;
writeln(a);
end.
Операции типа += работать, естественно, не будут. |