• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C语言中整形和浮点型转换

花生大事 2018-04-24 浏览量:1350

中断里使用了数据类型转换,对程序影响大吗?

举例如下:

int b=5,c=3;

float a;

a=(float) c/b;


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 浮点运算计算量比整数大多了。而且还涉及数据类型转换,则计算复杂度进一步增加,所以对程序肯定有影响。要尽量少用甚至不用。

    但是否影响大,这个要根据具体情况来说。

    • 发布于 2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:9
  • 影响大不大得看你的单片机的,频繁大量的使用强制转换容易造成内存溢出使程序崩溃的,当然这种情况极少发生,除非你真的是全局到处都是这种将实整型强制转换为浮点型的语句....

    一般在像32上用是没啥问题的,只有不是太丧心病狂,也浪费不了多少时间,当然51之类的就另当别论了。

    • 发布于2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 数据类型转换不大,但是用用来计算浮点运算的话,计算量大,耗时间。

    如果你中断时间不敏感那无所谓。

    最好是中断里把数据传出来,中断外面再处理

    • 发布于2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 强制类型转换会增加硬件的开销,不建议使用强制类型转换
    • 发布于2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 这要看你的单片机以及程序的复杂度,对于你所说的这个转换对单片机的影响是不大的
    • 发布于2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 能不用强制转换就不要用,况且还是浮点类型,容易发生意想不到的问题
    • 发布于2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果是转为float型的话,返回的数值就要多占用相应的内存空间了,一般是返回值涉及浮点运算才要转为浮点型,否则就不要转化,否则会占用宝贵的空间。

    • 发布于2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 程序若占用空间不大,而且功能不复杂,不需要太多的内存开销,那你这些简单的转换计算应该没啥问题,但是要小心使用,容易产生问题。
    • 发布于2018-04-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 类型转换并不影响,根本上是数据类型的问题。浮点运算 不带FPU的单片机一般做不到单时钟周期计算。浮点很耗时
    • 发布于2018-04-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 他会调用一个函数,会比较大.建议数据处理在中断外完成.
    • 发布于2018-04-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

C语言中整形和浮点型转换