日期:2014-05-18  浏览次数:21213 次

[求助]如何写一个60进制的小数加减法函数
例如 x=23.2325 y=11.1045
 23.2325
-11.1045
----------
 12.1240
类似于这样的,退一步说假定x>y也行,折腾好久了没有弄出来

------解决方案--------------------
每两位拆出来运算再凑成一起,不够就向上一组两位借一,多了就向上一组两位加一,乘除法有点复杂,转换成加减法来算,比较麻烦,大概是这样
------解决方案--------------------
1、先设定下60进制的各个值,0~9+a~z+A~X
2、然后把60进制值转换为十进制
3、十进制加减乘除
4、运算结果的十进制值转换为60进制
------解决方案--------------------
借用微机原理的算法。

BCD码在进行加减操作后需要进行整定,也就是每四个字节加上0110 (16进制-10进制的差值)
如果有进位或辅助进位,则说明有进位,那么继续+1.