在工作的时候,做驱动或者单片机的时候经常会对某一个数字的第几位让其变为0或者变为1,这个时候就可以用这种方法:
1.数字x第n位置为1
x | = ( 1 << n );
2.数字x第n位置为0
x & = ~( 1 << n );
//example数字5第2位置为1
5 | = ( 1 << 2 );
//解释一下 5二进制为: 0101
//第二位置为1只要将第二位或上1,无论第二位是0还是1它的结果还是1
//example数字5第2位置为0
5 & = ~( 1 << 2 );
//解释一下 5二进制为: 0101
//第二位置为0只要将1位移到第二位后取反那么值将为0,然后将其与上5的第二位无论是0还是1都将变成0
实在不行的小伙伴先记住就好啦应付一下面试也是可以的,等遇到做几次就会记住啦