20200826岳浩天

知识总结

位运算符

按位与&

对应的两个二进位均为1时,结果位才为1 ,否则为0

12&21=4

方法:二进制原码 反码 补码

正数原码/反码/补码都一样

12: 0000 1100

21: 0001 0101 ==>00000100

按位或(|)

对应的两个二进位有一个为1时,结果位就为1

12: 0000 1100

21: 0001 0101 ==>00011101

按位异或(

对应的两位不同时结果为1,相同时为0

总结:相同为0,相异为1

12: 0000 1100

21: 0001 0101 ==>00011001

按位左移(<<)按位右移(>>)

正数

m<<n

提示:往左移动一位,在二进制的末尾补0,每移动一位增大一倍,将m的二进制数左移n位,相当于m* 2的n次方

m>>n

提示:往右移动一位,删除二进制的最后一位,逐渐变小,将m的二进制数右移n位,相当于m/ 2的n次方

负数

-10>>2:

原码:1 0000 1010

反码:1 1111 0101 (除符号位 按位取反)

补码:1 1111 0110 (反码加一)

移位:1 1111 1101

取反:1 0000 0010

原码(补码过程):10000 00011 ==>-3

负数在按位右移过程中,高位补1

对比if-else和switch-case的区别

相同点:两者都可以用于多项分支语句

不同点:if-else可以判断相等或者不相等的情况,适用范围广;

​ switch-case只能用于全等的比较,结构更清晰,合理,执行效率高;

循环

循环的因素

循环条件/控制循环的次数

do-while循环 不论条件达成与否,程序都要执行一次

continue跳出本次循环,break结束循环;

评论