2010-01-24 56 views

回答

10

如果你只想使用大整數,則可以使用bigint,您可以範圍文件:

use bigint; 

,或只是一個有限的範圍內:

{ 
use bigint; 
...; 
} 

如果您需要大浮點數和大整數,則可以使用bignum編譯指示。無論哪種方式,這些都會讓你的程序稍稍變慢(或者如果你在做很多數學計算的話會顯着),所以你應該只將它們用於你真正需要它們的部分。然而,更快並不比正確更好。 :)

如果你想在哪些號碼使用big*數學非常精確的控制,你可以使用實現它們的底層類和自己創建的對象而非應用big*語義的一切。看看Math::Big*模塊。

我談論這個更多的Mastering Perl標杆章因爲電腦太快了時下使用階乘作爲一個緩慢的功能,我們還增加了大的數字,它一節,即將到來的Effective Perl Programming, 2nd Edition

15
+4

並可能使用bigint;它使得*範圍內的每個*數字字面值都是一個BigInt,沒有'Math :: BigInt-> new'。當然,請小心使用。 – hobbs 2010-01-24 11:05:20

+4

或'使用bignum;',它用BigFloat擴展bigint。 – Anonymous 2010-01-24 11:53:30