STM32F4浮点数和Q14格式运算速率对比
平台 STM32F407
时钟8M,仿真频率168M
时钟监测:keil debug模式下的t1时钟
浮点数运算函数如下
float mul_float=0.0;
u16 a=3;
float b=2.6396f;
u16 c=43247;//2.6396*16384 = 43247.2064
u32 mul_32;
u32 ka=0;
浮点数10万次运算
for(ka=0;ka<100000;ka++)
{
mul_float = a * b;
}
Q14格式10万次运算
for(ka=0;ka<100000;ka++)
{
mul_32 = a * c;
mul_32 >>=14;
}
起始时间 | 结束时间 | 运行时间 | |
浮点数 | 0.00007701s | 0.00424375s | 0.00416674s |
Q14格式 | 0.50424442s | 0.50900639s | 0.00476197s |