头文件:#include <math.h>

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

double fmod (double x);

设返回值为 ret,那么 x = n * y + ret,其中 n 是整数,ret 和 x 有相同的符号,而且 ret 的绝对值小于 y 的绝对值。如果 x = 0,那么 ret = NaN。

fmod 函数计算 x 除以 y 的 f 浮点余数,这样 x = i*y + f,其中 i 是整数,f 和 x 有相同的符号,而且 f 的绝对值小于 y 的绝对值。

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

  1. % 运算符
    % 只用于整型的计算,后一个数不能是0,参与运算的数据可正可负。

对于x%y ,计算之后结果的正负与 x 的符号相同,如果前者是较小的数,后者是较大的数,那么,结果直接为较小的数。例如:

10%3=1
3%10=3
10%-3=1-3%10=-3
-10%-3=-1
-3%-10=-33%13=30%3=0
0%-3=03%0  (×)Error!
-3%0  (×)Error!
10.0%3.0 (×)Error!  // 浮点型不能进行模运算
  1. fmod()函数
    fmod()函数可以对浮点型数据进行取模运算,后一个数可为0,这时函数返回NaN。

计算后结果的符号与前者(x)相同,如果前者是较小的数,后者是较大的数,那么结果直接为较小的数。

举例如下:

float x=10.0;
float y=-3.0;
float z=3.0;
result=fmod(x,z);
printf("10.0%%3.0= %f/n",result); //1.0
result=fmod(z,x);
printf("3.0%%10.0= %f/n",result); //3.0
result=fmod(x,y);
printf("10.0%%-3.0= %f/n",result); //1.0
result=fmod(y,x);
printf("-3.0%%10.0= %f/n",result); //-3.0
result=fmod(0,z);
printf("0.0%%3.0= %f/n",result); //0.0
result=fmod(0,y);
printf("0.0%%-3.0= %f/n",result); //0.0
result=fmod(3,13);
printf("3%%-13= %f/n",result); //3
result=fmod(10.1,3.1);
printf("10.1%%3.1= %f/n",result); //0.8
result=fmod(10.9,3.9);
printf("10.9%%3.9= %f/n",result); //3.1

【实例】代码如下。

#include <stdio.h>
#include <math.h>
int main ()
{printf ( "fmod of 5.3 / 2 is %f\n", fmod (5.3,2) );
printf ( "fmod of 18.5 / 4.2 is %f\n", fmod (18.5,4.2) );
return 0;
}

输出结果:

fmod of 5.3 / 2 is 1.300000
fmod of 18.5 / 4.2 is 1.700000

转载于:https://www.cnblogs.com/xiaonanxia/p/5786668.html

对浮点数取模(求余)相关推荐

  1. LeetCode 974. Subarray Sums Divisible by K--Python解法--数学题--取模求余

    LeetCode 974. Subarray Sums Divisible by K–Python解法–数学题–取模求余 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结 ...

  2. c语言float可以 取余吗,C语言fmod()函数:对浮点数取模(求余)

    头文件:#include fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = n * y + ret,其中 n 是 ...

  3. c语言fmod函数6,C语言fmod()函数:对浮点数取模(求余)

    头文件:#include fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = n * y + ret,其中 n 是 ...

  4. c语言fmod英文全称,C语言fmod()函数:对浮点数取模(求余)(示例代码)

    头文件:#include fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = n * y + ret,其中 n 是 ...

  5. 取模(余)%运算详解

    取模(余)%运算详解 1.JAVA中 对于整型数a,b来说,取模运算是:               1.求 整数商: c = a/b;               2.计算模: a%b = a - ...

  6. python取整求余

    python取整求余 / 表示除法 // 表示除后取整 % 表示除后求余 i = 15 a = i/2 b = i//2 c = i%2 print(a,b,c) 输出: 7.5 7 1

  7. C语言fmod()函数:对浮点数取模(求余)和%取余运算符的比较

    头文件:#include <math.h> fmod() 用来对浮点数进行取模(求余),其原型为:     double fmod (double x); 设返回值为 ret,那么 x = ...

  8. Codeforces Round #104 (Div. 2) E DP(01背包模型) +组和+除法取模求逆元

    题意: 规定只包含4或7的数为幸运数字,给定n个数的序列,求他的子序列,使得该子序列的长度为k并且满足该子序列中不存在相同的两个幸运数字.问一共寻在多少种可能.(只要该数的下标不同则认为是不同的序列) ...

  9. python中取整求余的计算步骤

    预备知识:取整分为向上取整.向下取整.向零取整. 首先必须知道 x%y等价于x-(( x//y ) * y )  ,这就是一个公式!!  这个x//y意思是x对y取整 比如python中(是向下取整, ...

  10. 关于取模运算(mod)和求余(rem)运算

    通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用'%'符号表示取模或者求余运算.在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的 ...

最新文章

  1. mysql 分析执行计划的效率_MySQL执行计划分析
  2. 视频直播点播nginx-rtmp开发手册中文版
  3. CSS基础(part11)--盒子模型之内边距
  4. C 与 C++ 40 年的爱恨情仇
  5. scrapy-redis 配置 settings
  6. 递归 与 动态规划 区别
  7. 一个SQL SERVER功能模块表
  8. 杀死系统中的进程kill和killall命令
  9. vue从入门到进阶:Class 与 Style 绑定(四)
  10. 【洛谷3368】树状数组模版题(区间修改,单点查询)
  11. 几款web富文本编辑器汇总整理
  12. 推荐几个高效文章搜索网站
  13. 基于Android+Springboot+Mybatis+Mysql的个人生活APP设计 说明书+项目源码
  14. 2021-07-28-飞桨课程笔记-关于数据获取途径与处理方面的技巧
  15. narwal机器人_NARWAL云鲸智能扫拖机器人,海外Kickstarter众筹销量第一
  16. ENDC相关概念扫盲
  17. ios微信组件跳转_iOSAPP跳转微信小程序
  18. 6.计算机系统能力创新实践,计算机考核要重实践能力、培养创新精神
  19. 关于“/usr/include/openssl/bn.h 288 error: parse error before BN_ULONG解决方法
  20. Java并发编程: CyclicBarrier让多线程齐步走

热门文章

  1. 持续更新 iText in Action 2nd Edition中文版 个人翻译
  2. Activiti in Action(实战Activiti)-目录
  3. shell脚本实现网络连接的检测
  4. git提交,安装配置 commitizen cz-conventional-emoji $git cz代替$git commit
  5. elasticsearch ik分词--实现专有名词分词 同义词解析
  6. html5 制作书架展示 PHP,基于HTML5 Canvas的CSG构造实体几何书架
  7. web前端 作业 1
  8. HTML5表单新特征简介与举例
  9. 360浏览器打开html不能正常显示图片,“网页图片显示异常,网页图片、验证码显示不正常,经常显示不全或根本不显示”的解决方案...
  10. 公众号运营-Datawhale-1