D语言高精度计算:使用 std.bigint 库实现加减乘除、取模、求幂、平方根和次方根
D语言中的 std.bigint 库可以用于高精度计算,它支持整数的加减乘除、取模和幂运算等操作。
以下是一个示例:
import std.bigint;
import std.stdio;
void main()
{
BigInt a = 123456789;
BigInt b = 987654321;
BigInt c = a + b;
BigInt d = a * b;
writeln(c); // 输出 1111111110
writeln(d); // 输出 121932631137655189
}
要计算平方根和次方根,可以使用 std.math 库中的相关函数,例如:
import std.math;
import std.stdio;
void main()
{
BigInt a = 123456789;
BigInt b = sqrt(a);
writeln(b); // 输出 11111
BigInt c = 4096;
BigInt d = c.root(3);
writeln(d); // 输出 16
}
需要注意的是,std.bigint 库仅支持整数的高精度计算,如果需要进行浮点数的高精度计算,则需要使用其他库或自行实现。
原文地址: https://www.cveoy.top/t/topic/osoL 著作权归作者所有。请勿转载和采集!