c语言中fmod,C语言中 %与fmod()在计算余数时的区别与联系
%与fmod()在计算余数时的区别与联系
一、% 运算符
% 只用于整型的计算,后一个数不能是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!浮点型不能进行模运算
二、fmod()函数
fmod()函数包含于math.h头文件中,它可以对浮点型数据进行取模运算
这是它的原型 double fmod(double x,double y)
fmod()函数没有%那样的要求,后一个数可为0,这时函数返回NaN
当参数为小数是,会进行如下运算:
返回值 = x-n×y
其中n=x÷y ,并向离开0的方向取整
计算后结果的符号与前者(x)相同,如果前者是较小的数,后者是较大的数,那么结果直接为较小的数。
例如:
float x=10.0;
float y=-3.0;
float z=3.0;
result=fmod(x,z); //应用 double fmod(double x,double y) 求浮点型的余数
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
result=fmod(10.9,-3.9);
printf("10.9%%-3.9= %f/n",result); //3.1
result=fmod(-10.9,3.9);
printf("-10.9%%3.9= %f/n",result); //-3.1
result=fmod(-10.9,-3.9);
printf("-10.9%%-3.9= %f/n",result); //-3.1
result=fmod(-10.9,12);
printf("-10.9%%12= %f/n",result); //-10.9
转自:http://m.blog.csdn.net/blog/nista/5903582
c语言中fmod,C语言中 %与fmod()在计算余数时的区别与联系相关推荐
- main c语言中变量的定义,C语言中在main函数中定义的变量是全局变量么_后端开发...
PHP 和 JavaSript 区别_后端开发 PHP是一种创建动态交互性站点的强有力的服务器端脚本语言,主要用于Web开发领域,而JavaSript是一种具有函数优先的轻量级,解释型或即时编译型的高 ...
- c语言中math的库函数,C语言中math.h库中的常用函数
C语言中math.h库中的常用函数 int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fa ...
- _nop_在c语言里什么作用,单片机c语言中nop函数的使用方法和延时计算
原标题:单片机c语言中nop函数的使用方法和延时计算 标准的C语言中没有空语句.但在 的C语言编程中,经常需要用几个空指令产生短延时的效果. 这在汇编语言中很容易实现,写几个nop就行了. 在C51中 ...
- c语言中数组长度的计算
c语言中数组长度的计算 一维数组 计算数组的长度: sizeof(数组名):得到这个数组占用内存的总长度 公式: sizeof(数组名) / sizeof(数组类型); 二维数 ...
- C语言switch中break的作用,C语言中switch...case语句中break的重要性
在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题.话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf ...
- c语言 case break,C语言中switch...case语句中break的重要性
在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题.话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf ...
- html语言中,定义文档中一个正在打开的链接的颜色的代码是,2017微软认证考试精选练习(附答案)...
2017微软认证考试精选练习(附答案) 1.如果要使图像在缩放时不失真,在图像显示原始大小时,按下( )键,拖动 图像右下方 的控制点,可以按比例调整图像大小 B A. Ctrl B. Shift C ...
- java去哪导包_在Java语言中,哪一个包中的类是自动导入的?( )java.applet
包括,语言中标的详细评审核心是评,标书性审进行查是对实质. 对一的某栋厂行评企业估房进,包中在资估中产评,属于. 完成修正总概算,类动导现工目的会发和数化可能建设.类动导结规模构.程项类型量有设备所变 ...
- 在c程序语言中aph,C 语言试题
不断的补充,希望一年后,给大家一些帮助. 看到有人关注,有责任( ^_^ ) [0基础] 一个C语言是由______ A) 一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D ...
最新文章
- 惠普HP unix命令大全
- java 小数运算 少0.1_计算器是如何实现0.1的?
- Java 16 正式发布
- Beetl学习总结(2)——基本用法
- 团队开发——用户需求报告
- python基础—正则表达式即re模块
- pascal与其它语言代码书写的不同和pascal的快捷键
- PHPMailer 报错:SMTP ERROR: Failed to connect to server: (0)
- 创建数据库索引的几种方法
- 【软件体系结构】软件体系结构笔记
- 如何使用Kdiff3作为GIT merge图形化工具
- 违反和解除劳动合同的经济补偿办法
- 全链通“铭镜”农产品溯源平台介绍分析
- java esc_java里控制台按esc键退出,怎么实现
- 压缩工具Bandizip
- 虚拟串口VSPD安装指南
- 2022/3/21-2022/3/22
- HBase 高可用集群整合 Phoenix 配置
- 密码学:c/c 语言实现 pdf,典型密码算法C语言实现pdf
- 将Pycharm中调整字体大小的方式设置为“ctrl+鼠标滚轮上下滑”