ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

运算符_算术运算符

2022-01-23 13:01:51  阅读:199  来源: 互联网

标签:算术 Decimal 运算符 取余 print output 整除


常用运算符包括
1.算术运算符
2.赋值运算符
3.比较运算符
4.布尔运算符
5.位运算符
接下来的章节将会对这些运算符逐个讲解
算术运算符分为
(1)标准算数运算符
(2)取余运算符
(3)幂运算符

标准算数运算符
加+ 减- 乘* 除/ 整除//
取余运算符%
幂运算符**
这边的标准算数运算符里面的除法更加符合平常的认知/就是除法,而//才是整除,这边是需要和C语言整数除法进行区别的地方
print(1/2)//output:0.5
print(1//2)//output:0 就是取整
注意这两者之间的区别

取余运算(取模运算)
print(11%2)//output:1
注意python更有一丝的地方
from decimal import Decimal
print(Decimal('2.1')%Decimal('2'))
print(Decimal('2')%Decimal('1.1'))
//output:
0.1
0.9
在python中支持浮点数取余,其中的逻辑大致如下
n%m,其中n,m可以是浮点数或者整数
|k|*|m|<=|n|(1)
那么最后的结果就是sign(n)*(|n|-|km|),此时k的取值为满足(1)式中的最大的k值
这边的逻辑不能完美自洽,前面所说的这套逻辑的使用范围是C++中的取余运算遵循的规则
接下来是更加精确的底层逻辑,通过[m/n]获得整出后的结果
那么我们直到被除数=除数
商+余数
m%n = m-n*[m/n]

print(2**3)//output:8
上面是幂运算符
这边注意如果想要通过幂运算符来获得平方根,是不行的,此时python编译器会认为代码中的*是多打的,将幂运算降级为乘法运算
print(2**1/2)//output:1.0

整除同时也可以有浮点数存在,只是这时候的答案是以浮点数的形式输出
笔者也没有发现什么特别好的方法,也就是说整数的整除如果是一正一负的时候,那么整除出来的结果毋庸置疑肯定也是负数,那么此时该负数时向下取整,即[x],而如果符号相同的话,我们会发现它仍然也是向下取整,所以很明显整除地运算逻辑为
[m/n],注意这边的m/n的含义是m除以n的值

标签:算术,Decimal,运算符,取余,print,output,整除
来源: https://www.cnblogs.com/FlnButFly/p/15836144.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有