C语言fmod()函数:对浮点数取模(求余)
头文件:#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=-3
3%13=3
0%3=0
0%-3=0
3%0 (×)Error!
-3%0 (×)Error!
10.0%3.0 (×)Error! // 浮点型不能进行模运算
2) 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
C语言fmod()函数:对浮点数取模(求余)的更多相关文章
- fmod()函数 (对浮点数取模)
头文件:#include <math.h> fmod() 用来对浮点数进行取模(求余),其原型为: double fmod (double x); 设返回值为 ret,那么 x = ...
- CodeForces 404 Marathon ( 浮点数取模 -- 模拟 )
B. Marathon time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- doT.js实现混合布局,判断,数组,函数使用,取模,数组嵌套
doT.js实现混合布局 数据结构 { "status": "1", "msg": "获取成功", "info ...
- 题解报告:hdu 1212 Big Number(大数取模+同余定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1212 Problem Description As we know, Big Number is al ...
- 【转】C/C++求模求余运算符——2013-08-20
http://blog.csdn.net/whealker/article/details/6203629 求模运算符(%),或称求余运算符,也就是数学上所谓的除法中的余数,%两侧均应为整数, |小| ...
- C语言:正负数之间取模运算(转载)
如果 % 两边的操作数都为正数,则结果为正数或零:如果 % 两边的操作数都是负数,则结果为负数或零.C99 以前,并没有规定如果操作数中有一方为负数,模除的结果会是什么.C99 规定,如果 % 左边的 ...
- fmod函数和modf函数
最近从博客上看到了一个fmod函数,结果又蹦出来一个modf函数 fmod函数: 头文件:#include<math.h> C库函数... fmod()用来对浮点数进行取模(求余),原型为 ...
- fmod()函数和modf()函数
最近从博客上看到了一个fmod函数,结果又蹦出来一个modf函数 fmod()函数: 头文件:#include<math.h> C库函数... fmod()用来对浮点数进行取模(求余),原 ...
- 【转】C语言快速幂取模算法小结
(转自:http://www.jb51.net/article/54947.htm) 本文实例汇总了C语言实现的快速幂取模算法,是比较常见的算法.分享给大家供大家参考之用.具体如下: 首先,所谓的快速 ...
随机推荐
- 用JS实现的类似QQ密码的输入特效
<input ID="_PSD"></input> <script> function passwordText(ID,pd,mark){ ma ...
- This is a TEST
I LOVE LINUX && PHP VERY MUCH AND MORE, ALL OPEN SOURCE PROJECT
- DBA-mysql-init-password-5.7
1.Mysql5.7 Password; 查找临时密码:grep "A temporary password" /var/log/mysqld.log 修改临时密码:alter ...
- selenium设置Chrome
关闭图片 from selenium import webdriver options = webdriver.ChromeOptions() prefs = { 'profile.default_c ...
- mysql内存使用以及优化中需要的几点注意
1.从内存中读取数据是微秒级别的.而从磁盘读则是毫秒级别的.二者相差一个数量级.所以想优化数据库,第一个要做到的就是优化io. 2.key_buffer_size[global]设置的内存区域大小缓存 ...
- 实现Cookie跨域共享
实现原理:cookie是不能跨域访问的,但是在二级域名是可以共享cookie的 概念说明:站点1=a.abc.com 站点2=b.abc.com 实现步骤:1. 配置两个站点的webconfig ...
- ubuntu中常用软件的安装
1.有道词典 1.百度有道词典,进入有道首页,点"下载词典客户端",下载对应版本. 2.打开终端,进入下载目录,输入sudo dpkg -i youdao-dict_1.0.2~u ...
- My Open Source Projects
• MyMagicBox (https://github.com/yaoyansi/mymagicbox) Role: Creator Miscellaneous projects for e ...
- JDBC连接实例
package com.javaee.corejava; import java.sql.Connection; import java.sql.DriverManager; import java. ...
- JQuery 上传文件插件 Uploadify1
基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. <link href="~/Content/themes/uploadif ...