我是靠谱客的博主 健康黑猫,最近开发中收集的这篇文章主要介绍python运算符,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.算术运算符

** :幂,例如:x ** y,返回值为x的y次幂,2 ** 3,返回值为8

% :取余,例如:9 % 4 ,返回值为1

//:取整,例如:15 // 4,返回值为3

2.位运算符

位运算符把数字看作二进制来进行计算

&:按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|:按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1

~ :按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
^ : 按位异或运算符:当两对应的二进位相异时,结果为1

<< :左移运算符:运算数的各二进位全部左移若干位,高位溢出,低位补0。右移运算符(>>):同理,高位补0,低位溢出。例如:1>>a,是将1右移a位,a>>1,是将a右移一位

以一个字节8位为例
原码:最高位为符号位,0代表整数,1代表负数
例如:5的原码为:0000 0101; -5的原码为1000 0101

反码:正数的反码与源码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变
例如:5的反码为:0000 0101; -5的反码为1111 1010

补码:正数的补码与原码一致,负数的补码是该数的反码加1(原码符号位不变,其余位置取反,最后加1)
例如:5的补码为:0000 0101; -5的补码为1111 1011

正数取反:
1.原码 2.反码 3.补码 4.按位取反 5.原码(a.减1得反码 b.取反得原码)

负数取反:
1.原码 2.反码 3.补码(反码加1得补码) 4.按位取反 5.原码

a = 6 //  二进制为 0000 0110
b = 13 // 二进制为 0000 1101

c1 = a & b //位与 全为1,则结果位才为1, 0000 0100,输出为4

c2 = a | b //位或 有一个为1,则结果位为1, 0000 1111,输出为15

c3 = ~a //按位取反,第一步,将十进制数转化为二进制数:0 0110,
                    第二步,由于二进制数在内存中以补码形式存在,所以将第一步中的二进制数转化为补码:0 0110,
                    第三步,按位取反:1 1001[按位取反后变成负数(因为取反后第一位为1,代表负数)],
                    第四步,转为原码:1111(进行负数补码到原码的逆运算:a.第三步按位取反的值先减1得反码:1 1000, b.取反得原码:1 0111),
                    第五步,将第四步中的二进制转化为十进制,输出为-7

c4 = a ^ b // 异或 两个不同时,则结果位为1, 0000 1011,输出为11

c5 = a << 5 // 左移 a向左移5位, 1100 0000,高位溢出,低位补0,输出为192                                                                                                                                                                                                                                                                                                                                                 

c6 = a >> 5 // 右移 a向右移5位,输出为0,因为a = 6,二进制为110,只有最后三位,向右移动5位,全部溢出,所以输出为0

print(c1, c2, c3, c4, c5, c6,)

注:
可以简单地理解:
1)向左移动一位,乘以一次2,向左移动两位,乘以两次2;向右移动一位,除以一次2,向右移动两位,除以两次2
2)按位取反的结果为操作数的相反数减1

3.逻辑运算符
and :布尔与,x and y,如果x 为 False,则返回false,否则返回 y 的计算值

or:布尔或,x or y,如果 x 为true,则返回 x 的计算值,否则返回y的计算值

not: 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

a = 6 
b = 13

c7 = a and b // a为true,返回b的值,13

c8 = a or b // a为true,返回a的值,6

c9 = not a // a为true,返回false

print(c7, c8, c9)

a = 0

c10 = a and b // a为false,返回a的值,0

c11 = a or b // a为false,返回b的值,13

c12 = not a // a为false,返回true

print(c10, c11, c12)

最后

以上就是健康黑猫为你收集整理的python运算符的全部内容,希望文章能够帮你解决python运算符所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部