python中的按位取反运算

Python016

python中的按位取反运算,第1张

按位取反运算符:~

运算结果:~x=-(x+1)

例如:~9为-10

~(-9)为8

这不是按位取反吗?怎么结果是这样?

看下面。

转二进制:0 1001

计算补码:0 1001

要知道它所表达的数是多少,需要转换为原码

_____

转为原码:按位取反:1 1001

末位加一:1 1010

符号位为1是负数,即-10

转二进制:1 1001

计算补码:1 0111

要知道它所表达的数是多少,需要转换为原码____

转为原码:正数的补码和原码相同,仍为:0 1000,即8

表达式是什么?所有人都知道。“1+1=2”,这个“1+1”就是最典型的表达式。

用来指定数据做哪种运算的符号是“运算符”,进行运算的数据称为“操作数”。例如:“2+3"中的“+”是运算符,“2”和“3”是操作数。

运算符根据操作数的个数分为单目运算符和双目运算符:

单目运算符,只有一个操作数,例如“-100”中 的“-”,单目运算符位于操作数的前面;

双目运算符,具有二哥操作数的运算符,例如“100-30”中的“-”,双目运算符位于二个操作数之间。

1、input命令

print命令用于输出数据,而input命令与print命令相反,它是让用户由“标准输入”设备输入数据,如果没有特别设置,标准输入设备是指键盘。input命令是非常常用的命令,比如,教师若要用电脑计算成绩,则首先要从键盘输入学生成绩。语法如下:

            变量 = input([提示字符串])

            用户输入的数据存储在指定的变量中。

            “提示字符串”表示输出一段提示信息,用来告诉用户如何输入。输入数据时,当用户按下Enter键后被认为是输入结束,input命令会把用户输入的数据存入变量中。

            例如,让用户输入数学成绩并输出程序:

2、运算符

python支持以下几种运算符(常用):

    算术运算符:用于执行普通数学运算的运算符

        例如:假设变量a = 10,变量b = 20

    关系运算符:用于二个表达式之间的比较,若比较结果为真,返回True;否则为False

        例如:假设变量a=10,变量b=20

            赋值运算符:先给变量赋值,在运算的运算符

                    例如:假设变量a=10,变量b=20

    逻辑运算符:用于逻辑运算的运算符

                例如:假设变量a=10,变量b=20

    按位运算符:把数字看成二进制来计算的

        例如:假设变量a = 60(换成二进制为111100), 变量b = 13(换成二进制为1101)

    运算符优先级:自上而下,依次升高

第一类:Python算术运算符

算术运算符主要是对两个对象进行算术计算的符号,其运算逻辑与数学的概念相似,因此比较好理解,常见的算术运算符有:

+:加,对两个对象进行相加运算

-:减,一个数减去另一个数,或者得到负数

/:除,一个数除以另外一个数

*:乘,两个数相乘,或者返回一个被重复若干次字符串

%:取模除,返回两个数相除的余数

//:取整数,返回两个数相除所得商数的整数部分

**:幂运算,返回X的Y次幂。

第二种:Python比较关系运算符

对于两个对象进行比较,其运算对象可以是数值也可以是字符串。

==:等于,判断两个对象是否相等,这里的相等是指两个变量的值相等而两个变量却不相同

此外,其他比较运算符还包括:!=不等于,判断两个对象不相等,>大于,<小于,>=大于等于,<=小于等于。

第三种:Python赋值运算符

赋值运算符是编程开发中最常用的运算符,即对一个对象进行赋值,将运算符右侧的值赋值给左侧的变量。

=:简单的赋值运算符,用于变量的赋值

+=:加法赋值运算符

此外,-=、*=、/=、/=、%=、//=等。

第四种:Python逻辑运算符

用于逻辑预算的符号,一般用于判断两个变量的交并集,一般返回一个布尔值,其运算原理与数学中的逻辑运算相同,包括:

and:逻辑与运算

or:逻辑或运算

net:逻辑非运算。

第五种:Python位运算符

位运算符是对Python对象进行按照存储的bit操作,其运算对象是二进制的格式,一般我们在开发过程中用到的比较少。

&: 按位与运算符,参与运算的两个值相应位都为1,则该位返回为1,否则为0。

| :按位或运算符,只要对应的两个二进位有一个为1时,则该位返回1。

^ :按位异或运算符,当对应位相异时,结果为1。

~ :按位取反运算符,对数据的每个二进制位取反,即把1编程0,把0编程1。

<<:左移动运算符,将二进制位全部左移,高位丢弃,低位补0。

>>:右移动运算符,将二进制位全部右移,低位丢弃,高位补0。

第六:Python成员运算符

用于判断两个对象的是否存在包括关系,即一个对象中是否包含另外一个对象,其返回结尾为布尔值。成员运算符只有in和not

in,即判断指定的值是否在某个对象中,这个对象可以是字符串,也可以是元组、列表。

第七:Python身份运算符

判断是否引用自一个对象,主要是通过两个对象的存储单位id进行对比判断两个变量是否相同,其中运算符有is和is

not,表示两个标识符是不是引用自一个对象。

==:逻辑运算符,主要用来验证两个变量的value值是否相同

is:是身份运算符,判断两个变量是否相同,即其物理存储地址id相同。