proteus 仿真计算器,关于小数的处理问题,求大神帮忙

2019-07-18 14:02发布

想用4X4键盘,51单片机,lCd仿真一个计算器,能处理小数的!现在在处理小数遇到问题,具体如以下例子:double value(一个带小数的数),设double decimal;设 long ineger;   令integer=(long)value; 欲求纯小数部分为decimal=value-integer;但此操作在小数位数较多或者整数位数较多时往往得出不正确的数据,求解!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lovezjf234
1楼-- · 2019-07-18 15:30
51是8位的,所以处理起大的数据很累,很麻烦,一般的办法就是分几个16位数据进行分别显示,然后小数部分一般不要超过6位或者用整数做小数处理,办法很多,看算法的精简度,同时参考一下论坛里面的一些别人的计算器
hzhiq
2楼-- · 2019-07-18 21:21
lovezjf234 发表于 2012-9-13 16:35
51是8位的,所以处理起大的数据很累,很麻烦,一般的办法就是分几个16位数据进行分别显示,然后小数部分一 ...

谢谢你,我现在一个实例是,我设value为42.21,让他按我的算法先分别将整数与小数分离,然后统一显示,显示为42.209999……请问这是哪方面的问题……
lovezjf234
3楼-- · 2019-07-18 23:57
你是怎么分离的?
hzhiq
4楼-- · 2019-07-19 04:21
lovezjf234 发表于 2012-9-14 12:49
你是怎么分离的?

double value(一个带小数的数),设double decimal;设 long ineger;   令integer=(long)value; 欲求纯小数部分为decimal=value-integer

一周热门 更多>