2011-11-02 63 views
0

可能重複來劃分大的數字:
What is the best way to represent arbitrarily big numbers in c?
Are there any solid large integer implementations in C?如何使用字符串

我需要劃分兩個int大的數字,並希望只有整數結果(沒有餘數) 像987654321987654321/98765432198 其中數字不能存儲在long long int中。 我想我應該使用字符串,但我不知道從哪裏開始。通過我使用c.please幫助的方式,我使用了 !

+3

這是你的功課? – Jonathan

回答

4

on paper?但是,如果出於任何實際目的,您可能需要查看gmp

-1

好的,如果數字太大,不能長時間存儲它(這是令人驚訝的),我希望結果可以存儲在long long int中。在這種

long long int result; 
result = (long long int) bignumber1/(long long int)bignumber2 

但我不知道你怎麼能使用鴻溝,如果數字比長長的大:)

注:INT/INT將永遠給你整(不會有小數部分)。

+2

那麼你把不適合'long long int'的數字轉換成'long long int'並進行分割?我猜這個OP也來了。沒有答案。 –

+0

這就是我錯了的地方:) –

1

正如Michael Krelin所說,嚴格使用的最佳選擇是一種久經考驗,經過嚴格認真調整的人,如GMP等。然而,實現你自己的樂趣和啓發性。您通常會將數字存儲爲「數字」數組,並且作爲第一步使用您在學校學到的紙上算法實現加法,減法,乘法和除法。只要你喜歡擺弄它,你就可以實現更多的功能並優化算法。

0

對於你提到的那種數字,可以使用雙

int q = 987654321987654321.0/98765432198.0