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结束循环;
近期评论