3.3.打印整数二进制的奇数位和偶数位
一、移位操作符
移位操作符分为左移操作符和右移操作符,而左移操作符稍微简单点,所以我们先讲左移操作符,由简单到复杂。
注意点:
移位操作符的操作数只能是整数。
警告:
对于移位运算符,不要移动负数位。(num>>-1/num<<-1)
1.1左移操作符
左移操作符的符号:<< (嘴巴朝左)
的移位规则:左边抛弃,右边补0。
这个是不是还有点似懂非懂之感,别急,让我给你用一个代码来给你加深理解:
1.2右移操作符
右移操作符的符号:>> (嘴巴朝右)
的移位规则:
1.逻辑移位
左边用0填充,右边丢弃。
2.算术移位
左边用原该值的符号位填充,右边丢弃(正数用0,负数用1,无符号用0。)
还需要画图吗?不管你说的话,我懂,还是画吧
那请问9的右移等于多少了?
二、位操作符
位操作符:
&:按位与——都为1,才为1。
技巧:与1是自己本身。
|: 按位或——只要有1,才有1。
^: 按位异或——相同为零
技巧:相同的数值异或的结果为零,与零异或是自己。
3.1.交换两个变量(不创建临时变量)
3.2 .打印两个数二进制中不同位的个数
是不是一脸懵逼了?当初我也是,当别急
3.3打印整数二进制的奇数位和偶数位
3.4:计算一个数的二进制有多少个1
不好意思,最后一个图没有画在画板上,使无法更清晰看到,有可能我画图画厌了,下次一定该。