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

学途的踉跄~TOP2 取模取余,傻傻分不清~_第1张图片

 

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

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

目录

(1)整数的取整方案:

①0向取整:

​ ②地板(-∞)取整:

 ③向+∞取整:

④:四舍五入:

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

(2)取模取余:

  取模:让商-∞取整

   取余:让商0向取整

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

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

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

总结:


(1)整数的取整方案:

①0向取整:

学途的踉跄~TOP2 取模取余,傻傻分不清~_第2张图片

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

学途的踉跄~TOP2 取模取余,傻傻分不清~_第3张图片

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


trunc      //返回类型为double

学途的踉跄~TOP2 取模取余,傻傻分不清~_第4张图片

 

 ②地板(-∞)取整:

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


floor            //floor函数的返回类型是double类型

学途的踉跄~TOP2 取模取余,傻傻分不清~_第5张图片

                                                            承上:

学途的踉跄~TOP2 取模取余,傻傻分不清~_第6张图片

 ③向+∞取整:


ceil

学途的踉跄~TOP2 取模取余,傻傻分不清~_第7张图片 

 

学途的踉跄~TOP2 取模取余,傻傻分不清~_第8张图片

④:四舍五入:

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


round

学途的踉跄~TOP2 取模取余,傻傻分不清~_第9张图片

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

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

(2)取模取余:

我们先给出各自的定义:

取模:让商-∞取整

取余:让商0向取整

先看现象:

C中:

学途的踉跄~TOP2 取模取余,傻傻分不清~_第10张图片

 Python:

学途的踉跄~TOP2 取模取余,傻傻分不清~_第11张图片

C:

 学途的踉跄~TOP2 取模取余,傻傻分不清~_第12张图片

 Python:

学途的踉跄~TOP2 取模取余,傻傻分不清~_第13张图片

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

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

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

C:

学途的踉跄~TOP2 取模取余,傻傻分不清~_第14张图片

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

Python:

学途的踉跄~TOP2 取模取余,傻傻分不清~_第15张图片

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

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

Python ----->-∞取整

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

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

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

学途的踉跄~TOP2 取模取余,傻傻分不清~_第16张图片 

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

学途的踉跄~TOP2 取模取余,傻傻分不清~_第17张图片

学途的踉跄~TOP2 取模取余,傻傻分不清~_第18张图片

总结:

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

②取模取余在正数时相等

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

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

你可能感兴趣的:(c语言,c语言)