使用次幂进行计算2的4次方并输出并输出pythonpython
print(2**4)
在 Python 中,可以使用 **
这个操作符来计算次幂。要计算 $2^4$,只需将代码写成 2**4
即可。接下来,我们可以使用 print()
函数将结果输出到控制台。
以下是计算 $2^4$ 并将结果输出的 Python 代码:
result = 2 ** 4
print(result)
当这段代码被执行时,它将输出 16
,表示 $2^4$ 的值为 16。
// 整除
** 求幂/次方
在python中变量无需声明,在其中能够计算非常大的数,下图为一个例子:
a=100//3
print(a)
b=2**100
c=2**101
d=2**102
e=2**1023
print(b)
print(c)
print(d)
print(e)
#运算结果
33
1267650600228229401496703205376
2535301200456458802993406410752
5070602400912917605986812821504
89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608
a=5
b=3
a**=b
print(a)
#运算结果
125
比较运算
比较运算是指两盒数据之间的比较运算。比较运算符多用于数值型数据比较,有时也用于字符串数据比较,比较的结果时布尔值True或False
比较运算中还有is和is not可以用来判断两个标识符是否引用自一个对象,可以用=和!=联系起来记忆,这里可以回顾一下matlab中的不等于其实是~=
#等于运算符
a=5==6
print(a)
b="yes"=="yes"
#运算结果
False
True
逻辑运算(这个比较重要)
逻辑运算符包括and、or、not,分别表示逻辑与、逻辑或、逻辑非,运算结果为布尔值True或False,下标x=5,y=0
运算符 | 说明 | 实例 |
---|---|---|
or | 如果x是True,则返回x,否则返回y的计算值 | x or y,值为5 |
and | 如果x为False,x and y返回False,否则返回y的计算值 | x and y,值为0 |
not | 如果x为True,返回False。如果x为False,返回True | not x,值为False;not y,值为True |
#逻辑非 not
x = True
y = not x
print(y)
z = False
print(not z)
#运算结果
False
True
注意:
位运算符
按位运算是指把数字转换为二进制来进行计算,包括一下6种,其中假设a=60,b=13.
a=60,二进制格式为00111100
b=13,二进制格式为00001101
运算符 | 说明 | 实例 |
---|---|---|
& | 按位与:参与运算的两个值,如果相应的二进制位都为1,则该位结果为1,否则为0 | a&b=00001100,十进制为12 |
| | 按位或:参与运算的两个值,只要对应的二进制位有一个为1时,该位结果就为1, | a|b=00111101,十进制为61 |
^ | 按位异或:参与运算的两个值,当对应的二进制位不同时,该位结果为1,否则结果为0 | a^b=00110001,十进制为49 |
~ | 按位取反:这是一个单目运算符,只有一个值参与运算,运算过程是对每个二进制位取反,即把1变为0,把0变为1 | ~a的二进制结果为11000011,十进制为-61 |
<< | 左移运算符:运算数的各二进制位全部左移若干位,高位丢弃,低位补0,结果相当于运算数乘以2的n次方,正负符号不发生变化 | a<<2的二进制结果为11110000,十进制位数为240 |
>> | 右移运算符:运算数的各二进制位全部右移若干位,低位丢弃,高位补0,结果相当于运算数除以2的n次方,正负符号不发生变化 | a>>2的二进制结果为00001111,十进制位数为15 |
这里需要注意的是按位取反,很明显~a的二进制结果为11000011,那么为什么是-61呢,而不是195呢,是不是觉得和自己所理解的按位取反不太一样?有这样理解的同学肯定是没有掌握清楚计算机中的二进制表示,在计算机中,正数和负数都是以二进制补码形式表示的,这样才能被计算机识别,其中对于正数,原码=反码=补码;对于负数,原码中的最高位为1(标志位),反码对原码中非标志位的其他位进行0/1反转,补码则是在反码的基础上+1。反过来,如果要将二进制的计算结果(比如:按位取反、两数相加)展示出来,则需要将补码-1,然后再反转,即逆过程,这样计算出来的才是我们人类能理解的十进制数。
那对于上面的11000011,-1后为11000010,取反码为10111101,结果为-61,这样才是对的!,第一位是符号位,符号位在变成反码过程中不会变化的,变化的只是数值位!这个和按位取反是不一样的!
这里在举一个例子,b=-46,~46=?
b=10101110,取反后二进制结果时01010001,+1后为01010010,取反码为00101101,十进制为45。
总结:
二进制数正负性 | 结果 |
---|---|
正数a | ~a= -(a+1) |
复数b | ~b=-(b+1) |
比如-23 ,~(-23)=-((-23)+1)=22; ~89=-(89+1)=-90.
运算符的优先级
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~、+、- | 按位翻转,一元加号和一元减号(最后两个的方法名为+@和-@) |
*、/、%、// | 乘、除、取模和整除 |
+、- | 加法、减法 |
>>、<< | 右移、左移运算符 |
& | 按位与 |
^、| | 位运算符 |
<=、<、>、>=、 | 比较运算符 |
<>(Python3舍弃,相当于!=)、==、!=、 | 等于运算符 |
=、%=、/=、//=、-=、+=、*=、**= | 赋值运算符 |
not | 逻辑非 |
and | 逻辑与 |
or | 逻辑或 |
#位运算优先级
a=2*3+4<=5+1*2
#根据优先级关系,先进性乘法运算,然后进行加法运算,接着进行比较运算
print(a)
#运算结果
False
接下来我还有另一篇文章可以查看python章节
使用python中的次幂函数可以直接使用运算符,计算2的4次方可以写成24,示例代码如下:
result = 2**4
print(result)
输出结果为16。
本问题不需要涉及到以上参考资料中的内容。