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

一个整形变量与一个小数点的数据运算后,被强制转换为浮点数了吗

奔跑的黑蚂蚁 2018-08-19 浏览量:4379
一个整形变量与一个小数点的数据运算后,被强制转换为浮点数了吗?这是为什么呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个主要取决于你用于保存结果的变量是整型还是浮点型,如:

    int a=1,c;

    float b=0.1,d;
    c=a+b;
    d=a+b;

    最后c的值为1,d的值为1.1

    • 发布于 2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:18
  • 不转浮点型,他就无法进行运算。可以在强转回来。
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以理解为这是C语言的规定,如果把浮点型转换为整型的话数据会有丢失。
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 实际上,编译器会现将整形变量隐式转换为浮点数然后再运算,运算结果还是浮点数。需要转回整形可以用强制类型转换。
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 整型变量不会因为与浮点变量相加而变成浮点变量,小数点后的数据都会丢失
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • int整型 只能用整数
    转化时不会四舍五入
    一定要四舍五入 转化前+0.5
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • int整型 只能用整数 转化时不会四舍五入 一定要四舍五入 转化前+0.5
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 整形和浮点型相加最后也是整形,需要将整形转换成浮点型
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 你期望的结果是什么?

    如果需要整型,你其实应该先转换浮点再运算

    如果需要浮点数,则可以先计算

    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果是赋值语句赋值为整型变量 不会因为跟小数相加而改变的 它还是整型
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 因为浮点数据的精度更高,如果转成整形,可能数据的值就会不对,就会有舍去了,所以编译器会转成浮点 的
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • c语言计算会自动转成精度高的一方进行计算,防止丢失精度
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果做运算a+=b则最后结果也是1。

    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • C语言中不同类型的数据可以混合运算

    在进行运算时,不同类型的数据要先转换成同一类型, 然后进行运算

    具体规则如下​

    double <-- float

    ^

    long
    ^
    unsigned
    ^

    int <-- char short


    这么做是因为不同类型的数据存储起来不太一样,比如unsigned的数据,第一位就不是符号位

    计算前当然要先统一成一样的数据类型


    这个数据只是计算过程中的数据类型

    具体结果是什么数据类型

    还要看保存结果的变量类型


    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 属于隐式类型转换,最后的结果看到也是浮点数保存的数据
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 对,这就相当于做了强制类型转换了。不过好多低成本单片机是不支持浮点型的,就算算出来也特别麻烦,你可以扩大有效位数再运算
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种还是要看你用一个什么样的变量去保存运算之后的结果,如果用浮点去保存那得到的结果就带浮点,如果用整型变量保存则还是一个整数
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个属于强制类型转换,最后的结果就是一个小数
    • 发布于2018-09-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 是的,转换的数据就是强制类型转换,输出的结果最后是一个浮点数
    • 发布于2018-09-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

一个整形变量与一个小数点的数据运算后,被强制转换为浮点数了吗