对浮点数取模(求余)
头文件:#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()与求模运算符%的对比
- % 运算符
% 只用于整型的计算,后一个数不能是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! // 浮点型不能进行模运算
- 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
对浮点数取模(求余)相关推荐
- LeetCode 974. Subarray Sums Divisible by K--Python解法--数学题--取模求余
LeetCode 974. Subarray Sums Divisible by K–Python解法–数学题–取模求余 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结 ...
- c语言float可以 取余吗,C语言fmod()函数:对浮点数取模(求余)
头文件:#include fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = n * y + ret,其中 n 是 ...
- c语言fmod函数6,C语言fmod()函数:对浮点数取模(求余)
头文件:#include fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = n * y + ret,其中 n 是 ...
- c语言fmod英文全称,C语言fmod()函数:对浮点数取模(求余)(示例代码)
头文件:#include fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = n * y + ret,其中 n 是 ...
- 取模(余)%运算详解
取模(余)%运算详解 1.JAVA中 对于整型数a,b来说,取模运算是: 1.求 整数商: c = a/b; 2.计算模: a%b = a - ...
- python取整求余
python取整求余 / 表示除法 // 表示除后取整 % 表示除后求余 i = 15 a = i/2 b = i//2 c = i%2 print(a,b,c) 输出: 7.5 7 1
- C语言fmod()函数:对浮点数取模(求余)和%取余运算符的比较
头文件:#include <math.h> fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = ...
- Codeforces Round #104 (Div. 2) E DP(01背包模型) +组和+除法取模求逆元
题意: 规定只包含4或7的数为幸运数字,给定n个数的序列,求他的子序列,使得该子序列的长度为k并且满足该子序列中不存在相同的两个幸运数字.问一共寻在多少种可能.(只要该数的下标不同则认为是不同的序列) ...
- python中取整求余的计算步骤
预备知识:取整分为向上取整.向下取整.向零取整. 首先必须知道 x%y等价于x-(( x//y ) * y ) ,这就是一个公式!! 这个x//y意思是x对y取整 比如python中(是向下取整, ...
- 关于取模运算(mod)和求余(rem)运算
通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用'%'符号表示取模或者求余运算.在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的 ...
最新文章
- mysql 分析执行计划的效率_MySQL执行计划分析
- 视频直播点播nginx-rtmp开发手册中文版
- CSS基础(part11)--盒子模型之内边距
- C 与 C++ 40 年的爱恨情仇
- scrapy-redis 配置 settings
- 递归 与 动态规划 区别
- 一个SQL SERVER功能模块表
- 杀死系统中的进程kill和killall命令
- vue从入门到进阶:Class 与 Style 绑定(四)
- 【洛谷3368】树状数组模版题(区间修改,单点查询)
- 几款web富文本编辑器汇总整理
- 推荐几个高效文章搜索网站
- 基于Android+Springboot+Mybatis+Mysql的个人生活APP设计 说明书+项目源码
- 2021-07-28-飞桨课程笔记-关于数据获取途径与处理方面的技巧
- narwal机器人_NARWAL云鲸智能扫拖机器人,海外Kickstarter众筹销量第一
- ENDC相关概念扫盲
- ios微信组件跳转_iOSAPP跳转微信小程序
- 6.计算机系统能力创新实践,计算机考核要重实践能力、培养创新精神
- 关于“/usr/include/openssl/bn.h 288 error: parse error before BN_ULONG解决方法
- Java并发编程: CyclicBarrier让多线程齐步走
热门文章
- 持续更新 iText in Action 2nd Edition中文版 个人翻译
- Activiti in Action(实战Activiti)-目录
- shell脚本实现网络连接的检测
- git提交,安装配置 commitizen cz-conventional-emoji $git cz代替$git commit
- elasticsearch ik分词--实现专有名词分词 同义词解析
- html5 制作书架展示 PHP,基于HTML5 Canvas的CSG构造实体几何书架
- web前端 作业 1
- HTML5表单新特征简介与举例
- 360浏览器打开html不能正常显示图片,“网页图片显示异常,网页图片、验证码显示不正常,经常显示不全或根本不显示”的解决方案...
- 公众号运营-Datawhale-1