2011-10-21 51 views
6

BigDecimal的最佳規模我需要緊湊地編碼BigDecimalByteBuffer來代替我的電流(垃圾)編碼方案(寫入BigDecimal爲UTF-8編碼的String用字節指明String長度前綴)。用於編碼

鑑於BigDecimal實際上是一個整數值(在數學意義上)和一個相關的比例尺,我打算將比例尺寫爲一個字節,後跟一個整數VLQ encoded。這應該充分覆蓋預期值的範圍(即最大值127)。

我的問題:當遇到諸如10,000,000,000這樣的大值時,顯然最佳的方法是將其編碼爲值:1的刻度爲-10,而不是以0的刻度編碼整數10,000,000,000(這將佔用更多的字節) 。我如何確定給定BigDecimal的最佳比例? ......換句話說,我如何確定我設定的最小可能的比例,而不必執行任何舍入操作,分配一個BigDecimal

請不要在您的回答中引用的術語「過早優化」 :-)

+0

我不會,因爲我稱之爲過早優化* z * ation :-) –

+3

至少你沒有編輯我的queztion。 – Adamski

回答