位运算符:&,|,^,~ , >>,<<,>>>
逻辑运算符:(逻辑与)&,|,^,(短路与)&&,||,!
进行逻辑运算的,运算符左右连接的都是 布尔类型的操作数,最终表达式的结果是布尔值:要么是true,要么false
如何区分逻辑运算符和位运算符:
逻辑运算符:左右连接的是布尔类型的操作数
位运算符:左右连接的是具体的数值位运算符的举例:
【1】<< 左移
3<<2 = 12【2】>> 有符号右移(下面计算过程不可取,瞎讲),一定要注意有符号的移位运算
6>>2 = 1-6>>2 = -2
**注意移位运算中计算机的运算位置固定,左移或右移移出这个固定位置的就舍弃,需要补位的地方按数的正负进行相应的补位**
【3】>>> 无符号右移:
6>>>2 = 1
【4】 & 与
6&3 = 2
【5】| 或
6|3=7
【6】^异或:
6^3 = 5
【7】~反(计算机内部的二进制是以补码形式保存的,就是将其二进制码全部取反作为新的补码,再对补码求原码)(下边这个计算过程不可取,瞎讲):
~6 = -7
面试题:4乘以8的最快方式:4<<3 (将4对应的二进制码左移3位)
切记:计算机中是以补码保存二进制的数据的
版权声明:本文为qq_43560213原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。