这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 51中sqrt函数用法的问题

共7条 1/1 1 跳转至

51中sqrt函数用法的问题

助工
2012-05-10 23:37:51     打赏
大家看看这个程序,
#include<reg52.h>
#include<math.h>
#include"DISPLAY.h"
void main()

 float j=4;
 j=sqrt(j); 
 Display_show(j);
}
显示正常,是2
但是下面这个程序就不能正常显示了,麻烦大家帮帮忙
#include<reg52.h>
#include<math.h>
#include"DISPLAY.h"
void main()
{
 int i=4;
 float j;
 j=(float)i;
 j=sqrt(j); 
 Display_show(j);
}



关键词: 函数     用法     问题    

助工
2012-05-11 23:42:49     打赏
2楼
不给力啊,没人回!

助工
2012-05-13 12:30:30     打赏
3楼
你是说写成j=sqrt((float)i)吗?但是用数码管显示的值还是不正确啊!

助工
2012-05-15 23:41:12     打赏
4楼
因为math.h里面sqrt是float型的,并且我也试了一下,int型的也会错。估计还是单片本身的问题,毕竟还是51。

助工
2012-05-15 23:41:54     打赏
5楼
因为math.h里面sqrt是float型的,并且我也试了一下,int型的也会错。估计还是单片本身的问题,毕竟还是51。

助工
2012-05-15 23:44:33     打赏
6楼

如果从单片机math.h库函数中做开方的算法入手可能会找出原因,但是我没有找到库函数中做开方的算法程序。大家可以共同探讨一下。


助工
2012-05-19 07:22:45     打赏
7楼
因为要做开方的数是INT型的。

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]