当前位置: 首页 > news >正文

fmod()函数和modf()函数

最近从博客上看到了一个fmod函数,结果又蹦出来一个modf函数 

 

fmod()函数:

头文件:#include<math.h>

C库函数。。。

fmod()用来对浮点数进行取模(求余),原型为:float fmod(float x)。

设x=k*n+h,则返回值为h(h和x的符号相同)。

fmod()与求模运算符%的比较:

1).%只用于整型的计算,后一个数不能为0;

    fmod()可以对浮点型数据进行取模运算,后一个数可以为0,返回NaN(NaN,是Not a Number的缩写,用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根)。

2).%是运算符,fmod()是函数

double fmod(double x,double y)

返回x除以y的余数。

x是分子的浮点值,y是分母的浮点值。

示例代码:

#include<stdio.h>
#include<math.h>
int main(){
    double x,y,ans;
    while(~scanf("%lf%lf",&x,&y)){
        ans=fmod(x,y);
        printf("%lf\n",ans);
    }
    return 0;
}

 

9.2 2
1.200000
12.4 4
0.400000
12.4 -4
0.400000
-12.4 4
-0.400000

。。。

就这样吧

 

modf()函数:

C库函数。。。

modf()是分解x,以得到x的整数和小数部分。

double modf(double x,double *integer)

返回x的小数部分,符号与x相同。

x是浮点值,integer是指向一个对象的指针。

示例代码:

#include<stdio.h>
#include<math.h>
int main(){
    double x,fraction,integer;
    while(~scanf("%lf",&x)){
        fraction=modf(x,&integer);
    printf("整数部分=%lf\n",integer);
    printf("小数部分=%lf\n",fraction);
    }
    return 0;
}

 

9.3456
整数部分=9.000000
小数部分=0.345600
2.3476
整数部分=2.000000
小数部分=0.347600
4.545337
整数部分=4.000000
小数部分=0.545337

就这样吧。。。

 

转载于:https://www.cnblogs.com/ZERO-/p/6853535.html

相关文章:

  • 读书笔记--Java核心技术--基础篇
  • velt-0.1.7开发: KernelConfig的问题
  • P1164 小A点菜
  • 新建虚拟机
  • OpenCV探索之路(五):图片缩放和图像金字塔
  • 99%的人都理解错了HTTP中GET与POST的区别
  • spring的定时任务
  • 利用QPainter绘制散点图
  • 创业经历
  • 黑客入门之单机游戏外挂
  • 如何在本地计算机打开网络文件夹(汇总)
  • 颠倒数组元素顺序reverse()
  • python模块整理
  • 小代码背后的大道理
  • LeetCode 103. Binary Tree Zigzag Level Order Traversal
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Angular6错误 Service: No provider for Renderer2
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • java第三方包学习之lombok
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • vue-cli3搭建项目
  • vue中实现单选
  • 百度地图API标注+时间轴组件
  • 后端_MYSQL
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 世界上最简单的无等待算法(getAndIncrement)
  • 找一份好的前端工作,起点很重要
  • Semaphore
  • (1)虚拟机的安装与使用,linux系统安装
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (6)设计一个TimeMap
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (三分钟)速览传统边缘检测算子
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)u-boot-nand.bin的下载
  • (转载)利用webkit抓取动态网页和链接
  • .NET Core跨平台微服务学习资源
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .net专家(张羿专栏)
  • .py文件应该怎样打开?
  • @我的前任是个极品 微博分析
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [C#7] 1.Tuples(元组)
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
  • [CC-FNCS]Chef and Churu
  • [docker] Docker容器服务更新与发现之consul
  • [ERROR] Plugin 'InnoDB' init function returned error
  • [ffmpeg] av_opt_set 解析
  • [java刷算法]牛客—剑指offer链表有环的入口、反转链表、合并排序链表
  • [osgearth]通过API创建一个earth模型
  • [Paper]Cardiologist-Level Arrhythmia Detection with Convolutional Neural Networks
  • [Power Query] 分组依据