對於任意精度的整數類我寫的,我有接受包含整數的值和uint16_t說字符串是在什麼基礎字符串的構造函數。轉換ASCII字符串到數字
integer("123", 10) -> 0x7b -> 123 base 10
integer("ab", 256) -> 0x6162 -> 24930 base 10
由於我類也可以接受負數,構造函數的讀值爲-
,意思是該值爲負數,基數爲256的字符串(ASCII)爲-
,因爲第一個字符會造成混亂。我應該如何更改我的代碼以使ASCII字符串前面的-
不含糊?我如何區分------
(正數爲49672054713645,基數爲10)和------
(基數爲10的負數爲194031463725)之間的輸入字符串?
目前,我正在考慮所有的ASCII值爲正值。
我希望離開構造函數只接受2個參數,但如果很明顯的:改變/分/添加構造函數integer(positive/negative, string, base)
是唯一的好主意,我可能會考慮它
ASCII不能以256位爲基數,因爲它是7位編碼。 2^7 = 128個ASCII值。所以你需要一個8位的ASCII擴展名,你應該指定。 – 2012-07-16 23:48:10