学途的踉跄~TOP2 取模取余,傻傻分不清~

 

每当我们回首那段日子,尽管算不上光辉灿烂,也论得上跟后辈们闲扯的资本。

                                                                                                                              -----------------前言 

目录

(1)整数的取整方案:

①0向取整:

 ②地板(-∞)取整:

 ③向+∞取整:

④:四舍五入:

小结: trunc\floor\ceil\round 浮点类型的取整

(2)取模取余:

  取模:让商-∞取整

   取余:让商0向取整

   ①取余取模的公式:a=q*d+r

    为什么两者对于商的取值有问题?

结论:余数的大小r,是由商决定! 而商的大小,又由于取整的方式各不相同。

总结:


(1)整数的取整方案:

①0向取整:

给出代码,以及结果那就容易理解了:

 当然也有函数可以直接进行向0取整

<math.h>
trunc      //返回类型为double

 

 ②地板(-∞)取整:

地板(floor)取整会用到有关函数:floor    

<math.h>
floor            //floor函数的返回类型是double类型

                                                            承上:

 ③向+∞取整:

<math.h>
ceil

 

 

④:四舍五入:

也就不用过多展示,逢>=5 进1

<math.h>
round

注:负数的四舍五入进一往小的方向进1 

小结: trunc\floor\ceil\round 浮点类型的取整

(2)取模取余:

我们先给出各自的定义:

取模:让商-∞取整

取余:让商0向取整

先看现象:

C中:

 Python:

C:

 

 Python:

不难发现,当商为负的时候。在不同环境下,对操作符两边符号不同的数进行运算,结果发生了变化。

①取余取模的公式:a=q*d+r

                        a:被除数   q:商   d:除数   r:余数

C:

                                       我们用同样的数,在Python下运行

Python:

为什么两者对于商的取值有问题?

结论是因为取整的方式不同。

Python ----->-∞取整

C(默认)------->0向取整   

结论:余数的大小r,是由商决定! 而商的大小,又由于取整的方式各不相同。

因此:负数取模取余的区别,根本在于取整(求商)方式的不同。

 

小结:在%两边有负数的情况下,C语言下,余数的符号由被除数决定,python则由除数决定~

总结:

①整数的取整方式有四种,C语言默认是0向取整

②取模取余在正数时相等

③C语言下,余数的符号由被除数决定,python则由除数决定

感谢您的阅读呀~ 祝你好运!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值