2010-06-28 421 views
8

Java或C++中可能有128位整數嗎?如何在Java或C++中表示128位整數?

+2

您需要更具體地瞭解您的要求。只是表示應該是明顯可能的:long a,b表示一對128位的64位數字。 – unwind 2010-06-28 12:19:09

+1

@unwind:long在某些編譯器上可能是32位。 '__int64'或'long long'至少爲64位,但是不是標準擴展。 – Brian 2010-06-28 13:45:30

+0

可能重複[在C++中的大整數](http://stackoverflow.com/questions/1815803/big-integers-in-c) – MSalters 2010-06-28 14:17:47

回答

9

在Java中,您可以使用BigInteger類來存儲任意大的整數。在C++中,您可以使用像GMP這樣的庫來獲得相同的功能。

-8

寫你自己的類和操作來表示128位數或使用一些可用的庫。

+2

我可以看到爲什麼「寫你自己或不寫你自己」被視爲不夠有用。這是你的'同伴壓力'徽章的機會:) – 2010-07-07 08:44:47

0

BigInteger類設計用於大於Long.MAX_VALUE的整數值。

13

當然你可以代表他們。您可以使用16個元素的字節數組。

然而,問題是,如果你只是想代表值或者做一些實際的計算它。

在Java中,您可以使用BigInteger來表示(有效)任意大小的整數值也可以進行計算。

0

當然,你可以使用的BigInteger類的java.math包。 該類提供模塊化算術運算,GCD計算,素數測試,素數生成,比特操作等操作。

本課程已添加JDK1.1本身。

但我不知道C++庫中內置了這樣的可用性。可以有來自第三方的可擴展的API。