1.逻辑运算符与逻辑表达式
逻辑运算符包括 &&,||,!.其中&&,||为二目运算符,实现逻辑与,逻辑或 !为单目运算符,实现逻辑非.逻辑运算符的操作元必须是boolean 型数据 ,逻辑运算符可以用来连接关系表达式.
给出了逻辑运算符的用法和含义
逻辑运算符
结果为boolean型的变量或表达式可以通过逻辑运算符合成为逻辑表达式.
用逻辑运算符进行逻辑运算
逻辑运算符”&&”和”||”也称做短路逻辑运算符,这是因为当op1 的值是false 时,”&&”运算符在运算时不再去计算op2 的值,直接就得出op1&&op2 的结果是false.当op1 的值是true时,”||”运算符号在运算时不再去计算op2的值,直接就得出op1|op2的结果是true
如:(y=1)==0 && (x=0)==0 ,结果为 false
:(y=1)==1 || (x=1)==0 结果为true
2.位运算符
我们知道整型数据在内存中以2 进制的形式表示,比如一个int 型的变量在内存中占4个字节共32位,int 型数据7的2进制表示是
00000000 00000000 00000000 00000111
左面最高位是符号位,最高位是0表示正数,1表示负数.负数采用补码表示,比如-8 的进制是
111111111 111111111 1111111 11111000
这样我们就可以对整型数据进行按位的运算,比如,对两个整型数据对应的位进行运算得到一个新的整型数据
00000000 00000000 00000000 00000010 2
00000000 00000000 00000000 00000110 6
&
00000000 00000000 00000000 00000010 2
|
00000000 00000000 00000000 00000110 6
“&”是双目运算符,对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是 如果a,b 两个数据对应位都是1,则c 的该位是1,否则是0.如果b 的精度高于a,那么结果c的精度和b相同.
1
”按位与”运算符“&”是双目运算符,对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是 如果a,b 两个数据对应位都是1,则c 的该位是1,否则是0.如果b 的精度高于a,那么结果c的精度和b相同.
”按位与”运算符
“&”是双目运算符,对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是 如果a,b 两个数据对应位都是1,则c 的该位是1,否则是0.如果b 的精度高于a,那么结果c的精度和b相同.
”按位与”运算符
“&”是双目运算符,对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是 如果a,b 两个数据对应位都是1,则c 的该位是1,否则是0.如果b 的精度高于a,那么结果c的精度和b相同.
2 ”按位或”运算符
“|”是双目运算符.对两个整型数据a,b 按位进行运算,运算结果是一个整型数据c.运算法则是 如果a,b 两个数据对应位都是0,则c 的该位是0,否则是1.如果b 的精度高于与a,那么结果c的精度和b相同.
3 ”按位非”运算符
“~”是单目运算符.对一个整型数据a 按位进行运算,运算结果是一个整型数据c.运算法则是 如果a对应位都是0,则c的该位是1,否则是1.
“按位异或”运算符
4 ”^”是双目运算符.对两个整型数据a,b按位进行运算,运算结果是一个整型数据c.运算法则是 如果a,b 两个数据对应位相同,则c 的该位是0,否则是1.如果b 的精度高于与a,那么结果c的精度和b相同.
由异或运算法则可知
a^a=0,
a^0=a.
因此,如果c=a^b,那么a=c^b,即用同一个数对数a进行两次”异或”运算的结果又是数a.在下面的例子1 中,利用”异或”运算的性质,对几个字符进行加密并输出密文,然后再解密.