2016-10-19 35 views
0

「unsigned long int」保持爲0.它必須是一個非常大的整數,我可以操作乘法和模數。你有1234^123%,1234如何在C++中分配一個包含數百位數的整數?

+3

你需要一個大的整數庫作爲強尼Henly說。儘管如此,1234^123%1234實際上是0. – chrizke

+0

^是一個在C++中的異或運算,不是冪運算, – doug

+0

而手錶優先級:'1234^123%1234'意思是這個'1234 ^(123%1234)' – doug

回答

-2

兩條路
1.實現你需要學習如何做使用整型數組與數學技巧加快或
2.使用庫

大型計算什麼: 例

如果你沒有綁定使用外部庫,我會建議使用第二個選項。一個這樣BIGNUM庫ttmath

OR 如果你有一個選項切換到Java,那麼Java已經內置的BigInteger,BigDecimal和更多的功能支持。看看BigInteger javadoc

+0

這個答案可以通過一些例子來改進。 – mjs

0

如果你正在使用gcc,你可以嘗試__uint128_t也許使用雙,而不是,除非你需要做的位操作

相關問題