运算结果:~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相同。