2011-04-23 119 views
2

我有非常大的數字,並決定用php中的base64字符串表示它們。我想知道是否有人知道一個庫(或內置系統)與base64一起工作的數字(又名加,減,乘,除等)?添加兩個非常大的數字表示爲base64編碼的字符串

+0

爲什麼?這些數字有什麼問題? – 2011-04-23 05:23:29

+0

你知道嗎* base-64字符串代表什麼? – Blender 2011-04-23 05:27:00

+1

我這樣做,我不是在談論'base64_encode',而是基於64位數字。 – Ben 2011-04-23 05:31:40

回答

4

一般來說,說一個特定基地或另一個基地的數字操作沒有什麼意義。而是將您的數字解碼爲更有用或更一般化的表示形式(例如,一串十進制數字),然後執行工作,根據需要重新編碼結果以進行存儲。

Math_BigInteger庫有助於此。您當然仍然需要首先將base64數據解碼爲類可用的基礎,即二進制,十進制或十六進制。

+0

感謝您提供的信息,我認爲使用base64(因爲數字已經是這種格式)將是一個更優化的解決方案,但聽起來這不是一種可能性。 – Ben 2011-04-23 05:34:13

+0

可以編寫自己的庫來做到這一點,但它不太可能已經存在,因爲它僅僅是有用的。初始和最終轉換的額外性能開銷應該可以忽略不計,因爲它只是一個額外的'2n'總步驟,而且您還可以不必編寫自己的算術庫! – 2011-04-23 05:37:45

2

這是XY problem的一個實例。問題是你想添加任意精度的數字。爲此,您應該使用任意精度的數學包,如BC。在base64中代表它們是沒有意義的,除非有一個算法的實現,而據你所知,它沒有。