3

是否有任何编程语言支持任意 n 的 n 位整数类型作为原语?也就是说,有没有一种语言可以让我写一些东西

int[137 bits] n = 0;

请注意,这与询问是否存在具有任意精度整数的语言不同。我正在专门寻找可以为我想要的任何特定固定精度提供固定精度整数的东西。

4

4 回答 4

2

Verilog 会将其表示为reg [136:0] n. 硬件描述语言 (HDL) 都为您提供类似的功能。您也可以将 Verilog 用作脚本语言,但这并不是它的真正设计中心,不会为您提供在常规编程语言中使用 BigInt 样式整数所能获得的性能。

于 2011-08-02T03:39:24.853 回答
0

Ada 编译器允许您将整数声明的大小指定为下限和上限。我不知道他们是否会接受任意整数,或者他们是否会为此生成代码。生成的代码并不完全是硬代码:多精度加法很容易使用多个固定宽度的“加法进位”指令,并且乘法/除法速度足够慢,因此对库的子例程调用不会显着影响性能。

于 2011-08-02T03:06:22.757 回答
0

Ada 允许您将类型声明为整数范围,您可以使用它来实现对“任意”小值的要求。

COBOL 支持任意精度以 10 为底的数字。

BigInteger为 Java (或类似的)创建一个可以满足您需求的包装类将是一项简单的任务;例如截断算术运算的结果或引发自定义“溢出”异常。

于 2011-08-02T03:16:23.940 回答
-1

我一个都不知道。有一些支持 bigIntegers 作为原语,但你明确没有问这个。我怀疑一个问题是大多数平台都无法寻址。我想你可以编写一个可以实现 n 字节整数的类,但它不会是原始的。很想知道您的应用程序...

于 2011-08-02T03:12:41.920 回答