北欧海盐 2023-10-16 15:11 采纳率: 50%
浏览 4
已结题

c 程序 根号向上取整疑问

上课时提及根号向上取整加一的式子是:
int upper=(int)(sqrt(m)+0.01)+1
请问+0.01 有什么特殊意义 是和 python 的四舍五入一样的情况嘛 如果使用 ceil 或者 floor 在什么情况下会出现错误的情况呢

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2023-10-16 15:22
    关注

    假设1:
    sqrt(m)= 5.99
    (int)(sqrt(m)+0.01) = (int)(5.99+0.01) = 6
    跟ceil函数的结果一致

    假设2:
    sqrt(m)= 5.84
    (int)(sqrt(m)+0.01) = (int)(5.84+0.01) = 5
    跟ceil函数的结果不一致

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22