佚名通过本文主要向大家介绍了任意进制转换算法,任意进制转换,任意进制转换计算器,在线任意进制转换计算,任意进制计数器设计等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:求任意进制转换的高效算法
描述:
解决方案1:
描述:
我要最高效的算法
任意进制转换
传统的用十进制做中介,
大量的幂运算模运算神马的再也受不了了!!
能不能用二进制做中介?或者别的方法?
求大神
解决方案1:
既然要求結果,就不該要求過程。
如果要求過程,就不該要求結果。
請題主考慮清楚,自己是需要高效率算法,還是以 2 爲中介基數的轉換。
後者有個簡單的辦法,num_base16 = ParseInt(num_base10, 10).toString(16)
最近写了个二进制的高精度加法
最近没有调试,发出来跟大家讨论一下:
为了位运算写的舒服(pascal的xor肯定比^看起来爽点)我用pascal写了:
c[i]:=(a[i] xor b[i-t])xor j;
j:=a and (not(a[i] xor b[i-t]));
T是小数点的位置(我这个是包括小数的高精度计算)
J记录进位
数组倒序存储,从末尾开始
xor异或 and并且 not取反
参考Knuth的[The Art of Computer Programming, Vol. 2 (3rd edn.), section 4.3 ~ 4.4。
解决方案4:楼主的要求是:
- 尽量用2进制来作为中介
- 算法尽量高效
用2进制作中介,速度其实更慢,或者相当。 高效的算法一般是采用压位,用10000 , 或者 100w 做为中介。