导航:首页 > 操作系统 > 单片机的浮点运算

单片机的浮点运算

发布时间:2024-03-28 18:16:09

㈠ 51单片机能不能计算浮点数,支不支持浮点运算有人说能,有人说不能。

不能直接硬件计算浮点(就是所谓的FPU),只能通过程序库(调用函数)模拟完成,非常耗时!

㈡ 单片机中float的具体用法用法

float是单精度陪迹哪浮点数,在内存中占4个字节州中,可以定义变芦码量类型为 浮点数如
int a,b;
float c;
a=3;
b=4;
c=a/b; 则c=0.75;
如果c也是int型则
c=a/b 结果是0

㈢ 单片机能做浮点运算吗

可以啊,但不同品牌、不同型号单片机的运算能力不同,同样的运算代码,会出现不同的运算速度。

㈣ C51单片机浮点数运算

因为没有电路,所以程序我就没法给你写,给你个思路.
第一,不知道你的a和b是什么类型的,如果是定义成浮点型,那么,可以这样写:
float f_Div = a/b;
如果两个有一个是整形的,那么,把整型强制转换成浮点型:
float f_Div = (float)a/(float)b;
注意,那个f_Div变量必须是float型,才能有小数产生

第二,你要进行显示,肯定要把各个位都取出来,这里面肯定有一个取模运算,就是"%",
对于浮点型,不运行取模运算的,所以,你必须把浮点型转换成整型,但是,不能强制转换,
比如: unsigned int I_Div = (unsigned int)f_Div;这是不可以的,你的小数部分就没有了.
所以,你必须要放大一定的倍数,根据你的要求,你是要保留三位,那么,这里还有个问题,你的
小数点之前有几位,决定了你小数点后面保留几位.
比如,你得到的结果是 1.2345,那么,你就保留1.23
如果你得到的结果是 12.345,那么,就保留12.3
如果你得到的结果是 123.45,你就只能保留123了
如果得到的结果是 0.123,你就只能保留 0.12

所以可以看出,你的浮点型结果整数部分有多少位,决定了你的小数能保留多少位,所以还要进行如下运算:

unsigned int i_Div = unsigned int)f_Div;;
unsigned char Dot_Bit = 0; //---这个变量用来表示在第几位上显示小数点,因为
//---通过下面的操作,已经把小数变成整数了
if(I_Div >= 100) //---表示前面有3个整数部分位
{
; //---那就没什么可操作的,unsigned int i_Div = unsigned int)f_Div;;就符合要求
}
else if (I_DIV >= 10) //---表示整数部分有2位
{
I_DIV = f_Div *10;
Dot_Bit = 1; //---在右数第2个地方显示小数点,也就是十位后显示小数点
}
else
{
I_DIV = f_Div *10;
Dot_Bit = 2; //---在右数第2个地方显示小数点,也就是最前面那位后面显示
}
void Display(void)
{

unsigned char Hundred = I_Div/100;
unsigned char TenBit = (I_Div/%00)/10;
unsigned char TenBit = I_Div%10;
....... //然后就开始显示了

}

㈤ 在玩单片机 的时候总是会说什么定点运算和浮点运算,始终不明白,这个浮点运算是什么,

定点运算实际就是整数(定点小数,可以视为整数)运算,浮点运算实际就是实数运算。

假如处理器是32位的,也就是说32位都用来表示整数的话,那么对于无符号整数就是 0~2^32-1,对于有符号整数就是 -2^31~2^31-1。如果是实数的话,机器有两种办法来表示,一种是定点,即小数点位置是固定的;另一种就是浮点,即小数点位置不固定,计算方法也比较麻烦,通常会比整数运算代价大很多。

因为计算机只能存储整数,所以实数都是“约等于”出来的,浮点运算是很慢的而且会存在精度问题(也即误差)。

基本所有处理器都支持定点运算,但不是所有的都支持浮点运算。

㈥ 单片机中C语言如何实现浮点除法运算

直接除就可以了
比如定义一个整形变量int x;
另一个整形变量int y;
浮点型变量float z;

浮点数除法:
z = (float)x / (float)y

㈦ 单片机 程序中能输入小数吗

这样程序处理的也简单、2,比如输入1、5就可以、4.0245,还是逐位输入的好、0不用用小数表示,否则处理小数的程序都会让你吃不消,就逐位输入1

㈧ 51单片机怎么实现浮点运算

要先按装浮点库C51FPS.LIB,按装路径为:将 C51FPS.LIB 文件复制到 C:\Keil\C51\LIB\ 文件夹下面。
而后在程序中用浮点型变量float或double进行运算即可。

阅读全文

与单片机的浮点运算相关的资料

热点内容
带着空间穿越到红军长征的小说 浏览:898
苹果系统python编译器 浏览:789
马东锡十部必看电影 浏览:802
台湾补习老师女学生电影 浏览:646
苹果手机主屏幕移除app怎么移 浏览:493
压缩机冷启动 浏览:792
沐风之女电影在线 浏览:187
matlab画圆的命令 浏览:411
香港经典电影3级鬼片上身 浏览:470
4k超清蓝光在线看电视剧 浏览:645
打野电影叫什么名字 浏览:236
原神应急食品app不能用了怎么办 浏览:470
前沿算法 浏览:667
u2 wcmov 浏览:794
带搜索功能的电影网站 浏览:309
狂怒完整版135分钟 浏览:956
叫的小姐竟然是嫂子 浏览:178
法国啄木鸟网址名称 浏览:655
日本影院的网站 浏览:956
接触网pdf 浏览:15