python中的数字
数字的基础计算
python中数字分为整数和浮点数,根据运算符优先级支持四则运算。
优先级 | 运算符 |
---|---|
0 | 圆括号((…)) |
1 | 幂运算(**) |
2 | 负号(-) |
3 | 乘(*)、除(/)、整除(//)、取余(%) |
4 | 加(+)、减(-) |
tips:
- 两数进行除法(/)运算时无论分子、分母是整数还是浮点数,计算结果都是浮点数
- 无论是整数还是浮点数都能进行整除(//)运算,其中如果分子或者分母其中有一个为浮点数,计算结果为浮点数
数学函数
在python中使用内建函数及模块实现数学计算
from cmath import *
print(sin(3.14/2))
print(pow(2, 6))
运行结果如下:
python可处理大整数
在C/C++中对于w位的编译器:
有符号数的取值范围为[-2^(w-1)
, 2^(w-1) -1];
无符号数的取值范围为:[0, 2^w - 1]
最常见的有符号数在计算机中用补码的形式表示,将字的最高有效位解释为“负权”
如:
0|000 0000 0000 0000 0000 0000 0000 0000
0|111 1111 1111 1111 1111 1111 1111 1111
——————————————————————
1|111 1111 1111 1111 1111 1111 1111 1111
在python中可以处理非常大的整数不受位数限制。
如:
print(2**789*10000)
进制转换
python还可以表示:二进制(0b1110)、八进制(0o7120)以及十六进制(0xF1201A)
进制互转:
# 数字的进制互转
a = 10 # a为十进制表示
print("a的二进制为:{}".format(bin(a)))
print("a的八进制为:{}".format(oct(a)))
print("a的十六进制为:{}".format(hex(a)))
b = 0b1011 # b为二进制表示
print("b的十进制为:{}".format(int(b)))
print("b的八进制为:{}".format(oct(b)))
print("b的十六进制为:{}".format(hex(b)))
c = 0o14 # c为八进制表示
print("c的十进制为:{}".format(int(c)))
print("c的八进制为:{}".format(bin(c)))
print("c的十六进制为:{}".format(hex(c)))
d = 0xd # d为十六进制表示
print("d的十进制为:{}".format(int(d)))
print("d的二进制为:{}".format(bin(d)))
print("d的八进制为:{}".format(oct(d)))
运行结果入下:
数字格式化输出:format()
format(arg0,arg1)
- arg0:待格式的原始数字
- arg1:格式字符串
format在格式化数字方面的运用:
- 保留小数后指定位数
- 左、右、中心对齐
- 数字前后补0
- 科学计数法输出等
格式化方法运用:
x = 5423.5346
print("1、x保留小数点后3位,使结果为5423.535:{:0.3f}".format(x))
print("同1,x保留小数点后3位,使结果为5423.535:", format(x,'0.3f'))
print("2、x保留小数点后2位,并让整数、小数及小数点共占10位,不够左侧补0,使结果为005423.535:{:0>10.3f}".format(x))
print("3、x保留小数点后2位,并让整数、小数及小数点共占10位,不够右侧补0,使结果为5423.53500:{:0<10.3f}".format(x))
print("4、在2的基础上,在千分位用逗号分隔,使结果为05,423.535:{:0>11,.3f}".format(x))
print("5、x保留小数点后2位,并让整数、小数及小数点共占10位,不够前后补0,使结果为05,423.530:{:0^10,.2f}".format(x))
·