2012-04-11 54 views
0

我如何在Java中創建自己的數據類型,它可以存儲16個字節的整數值如何延長在java中的數據類型

由大小最長的數據類型在Java中「長」,這是8字節,它可以存儲19位整數值,但是,我想要找到25的階乘,25的階乘是26位(15511210043330985984000000)。現在的問題是我沒有這樣的數據類型的Java可以存儲如此巨大的26位或更多的值。

如果有任何

public long factorial(int number) 
{ 
    int i=1; 
    long factorial=1; 

    for(i=1;i<=number;i++) 
    { 
     factorial = factorial * i; 
    } 
    return factorial; 
} 
+2

[BigInteger](http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html) – Richante 2012-04-11 13:08:14

+0

似乎是你需要做一個類,它可以存儲16個字節或更多數據值,您需要以自己的方式或實際需要的方式實現顯式算術或邏輯操作。如果你可以使用字符串來實現,這可能是n個字節。它將通過通用。 – 2012-04-11 13:11:40

回答

5

現在的問題是我沒有這樣的一個數據類型,可以存儲如此龐大的26位或更多的價值的java。

你看了看java.math.BigInteger?請注意,這是一個類(一種引用類型),而不是一種值類型,但它是不可變的,這意味着您可以認爲它有點像價值。

4

現在的問題是我沒有這樣的數據類型在Java中,可以存儲這些巨大的價值

這並不完全正確。有BigInteger

有關實施使用BigInteger的階乘的實現請參見this answer

相關問題