重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
循环右移 就是
成都创新互联公司是一家专注于成都网站建设、成都做网站与策划设计,三江侗网站建设哪家好?成都创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:三江侗等地区。三江侗做网站价格咨询:18982081108
_cror_
和这个类似的。
你这个是单片机里面的吧
除了单片机,很少有这么用的。
位移位运算符,顾名思议,用来移位用。
如:
a=0x01;
a =2;
则,a变成0x04了。
上面是左移,如果右移是a = 2;
左移就是把二进制表示,向左面移动,右边补零,超过部分会丢弃
比如char x = 126, 是8位的,11111110 左移2位,补2个零,11 1111 1000,本来8位,会丢弃超出的2位
得到 11111000
右移,是右面部分丢弃一些位,左面补零
比如char x = 126, 是8位的,11111110 右移2位,丢弃2位, 111111,本来8位,少2位,补零得到 00111111
putchar(valuedisplayMask ? '1':'0');
这里只有1个表示按位进行与运算,比如value=10110 displaymask=10000
valuedisplayMask=10000 为真输出字符"1";然后左移1位value=01101 valuedisplayMask=00000 为假输出字符"0";继续这么下去,输出的就是10110 你可以自己试下去,这个是一种算法.因为displaymask的数值是第一位为1其他为0,所以每次进行操作时只有value的最高位才能"与"出0或1,后面的肯定是0;一旦value的最高位是1结果就是10000为真,输出1;若是value的最高位0,valuedisplayMask的结果肯定是00000,非真,输出0,通过将value依次左移1位,它的各位数值就复现出来了...你要理解 ?A:B 的意思是"?"前面结果为真就进行A操作,否则进行B操作,valuedisplayMask这个的意思是按位与.