每当我们回首那段日子,尽管算不上光辉灿烂,也论得上跟后辈们闲扯的资本。
-----------------前言
目录
小结: trunc\floor\ceil\round 浮点类型的取整
结论:余数的大小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则由除数决定
感谢您的阅读呀~ 祝你好运!