%与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()在计算余数时的区别与联系相关推荐

  1. main c语言中变量的定义,C语言中在main函数中定义的变量是全局变量么_后端开发...

    PHP 和 JavaSript 区别_后端开发 PHP是一种创建动态交互性站点的强有力的服务器端脚本语言,主要用于Web开发领域,而JavaSript是一种具有函数优先的轻量级,解释型或即时编译型的高 ...

  2. c语言中math的库函数,C语言中math.h库中的常用函数

    C语言中math.h库中的常用函数 int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fa ...

  3. _nop_在c语言里什么作用,单片机c语言中nop函数的使用方法和延时计算

    原标题:单片机c语言中nop函数的使用方法和延时计算 标准的C语言中没有空语句.但在 的C语言编程中,经常需要用几个空指令产生短延时的效果. 这在汇编语言中很容易实现,写几个nop就行了. 在C51中 ...

  4. c语言中数组长度的计算

    c语言中数组长度的计算 一维数组 计算数组的长度:       sizeof(数组名):得到这个数组占用内存的总长度       公式: sizeof(数组名) / sizeof(数组类型); 二维数 ...

  5. C语言switch中break的作用,C语言中switch...case语句中break的重要性

    在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题.话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf ...

  6. c语言 case break,C语言中switch...case语句中break的重要性

    在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题.话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf ...

  7. html语言中,定义文档中一个正在打开的链接的颜色的代码是,2017微软认证考试精选练习(附答案)...

    2017微软认证考试精选练习(附答案) 1.如果要使图像在缩放时不失真,在图像显示原始大小时,按下( )键,拖动 图像右下方 的控制点,可以按比例调整图像大小 B A. Ctrl B. Shift C ...

  8. java去哪导包_在Java语言中,哪一个包中的类是自动导入的?( )java.applet

    包括,语言中标的详细评审核心是评,标书性审进行查是对实质. 对一的某栋厂行评企业估房进,包中在资估中产评,属于. 完成修正总概算,类动导现工目的会发和数化可能建设.类动导结规模构.程项类型量有设备所变 ...

  9. 在c程序语言中aph,C 语言试题

    不断的补充,希望一年后,给大家一些帮助. 看到有人关注,有责任( ^_^ ) [0基础] 一个C语言是由______ A)   一个主程序和若干个子程序组成 B)  函数组成 C)  若干过程组成 D ...

最新文章

  1. 惠普HP unix命令大全
  2. java 小数运算 少0.1_计算器是如何实现0.1的?
  3. Java 16 正式发布
  4. Beetl学习总结(2)——基本用法
  5. 团队开发——用户需求报告
  6. python基础—正则表达式即re模块
  7. pascal与其它语言代码书写的不同和pascal的快捷键
  8. PHPMailer 报错:SMTP ERROR: Failed to connect to server: (0)
  9. 创建数据库索引的几种方法
  10. 【软件体系结构】软件体系结构笔记
  11. 如何使用Kdiff3作为GIT merge图形化工具
  12. 违反和解除劳动合同的经济补偿办法
  13. 全链通“铭镜”农产品溯源平台介绍分析
  14. java esc_java里控制台按esc键退出,怎么实现
  15. 压缩工具Bandizip
  16. 虚拟串口VSPD安装指南
  17. 2022/3/21-2022/3/22
  18. HBase 高可用集群整合 Phoenix 配置
  19. 密码学:c/c 语言实现 pdf,典型密码算法C语言实现pdf
  20. 将Pycharm中调整字体大小的方式设置为“ctrl+鼠标滚轮上下滑”

热门文章

  1. 1012:Joseph
  2. 前百度工程师出走后纷纷复制创业密码 2006.12.04 来自:新浪科技
  3. 转载:计算机经典书籍指南
  4. 智力大冲浪c语言,“全家一起来,智力大冲浪”
  5. 详细说明UML类图是什么?
  6. 2008春晚诗朗诵:温暖2008
  7. 程序员小姐姐写出代码版《本草纲目》毽子操,附上源码 !
  8. uniapp踩坑三之授权获取用户信息
  9. 结合具体代码理解yolov5-7.0锚框(anchor)生成机制
  10. 2007年肯定火的歌 等一分钟