m0_69358180 2022-08-31 18:26 采纳率: 100%
浏览 28
已结题

实型变量赋初值右值“ f ”后缀的作用

想要询问一个很基础的问题,在给实型变量赋初值的时候,为什么后面要加一个 “ f ”呢?
比如:

float f=1.5f;

以及有符号长整型和无符号长整型后面都有“ L ”,比如:

unsigned long iUnsignedLongNum;
iUnsignedLongNum=6666666L;

感谢回答[rose]!

  • 写回答

5条回答 默认 最新

  • wanghui0380 2022-08-31 19:48
    关注

    给编译器看的,人并不需要特别计较
    因为编译器需要规则,就像楼上很多人说的,编译器默认认为是double,那么默认规则会有一些意外(比如就本来就是想要单精度浮点的运算 2/1),所以特别定义一个规则告诉编译器是你指定的类型

    比较一下编译器的规则推论(当然个人说:人不必计较,这是给机器看的,只是有时候出于某些特殊目的,我需要强制约定一下,避免默认计算规则不符合需求)

    var m = 2 / 1;  ------------啥都不加,他是int
    var i = 2 / 1.0;-------------有1.0了,默认是double
    var j = 2 / 1.0f;----------------出于某些特殊需要,我只需要单精度浮点
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 创建了问题 8月31日

悬赏问题

  • ¥15 构建工单的总账影响在哪里查询或修改
  • ¥15 Java代码到底是哪里出错呀,代码甚至连整数都输出不出来
  • ¥15 三个简单项目写完之后有重赏之后联系我
  • ¥15 python报内存不能read错误
  • ¥15 hexo安装这种情况怎么办
  • ¥100 找hCaptcha图形验证码自动识别解决方案
  • ¥15 启动pycharm出错
  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题