[英]Please explain the >> in this program
提取运算符在做什么? 我从未见过使用这种方式。
void DecimalToBinary(int decimal)
{
int remainder;
if(decimal <= 1)
{
cout << decimal;
return;
}
remainder = decimal % 2;
/*----->>>*/ DecimalToBinary(decimal >> 1);/*what is the extraction operator doing?*/
cout << remainder;
}
它是位移位运算符,早于它是提取运算符。
它不是提取运算符-是按位移位-或“除以2”(尽管对于负数它可能无法正常工作)。
“提取运算符”只是借用了C语言中一种较不常用的运算符来做一些与之完全不同的事情。
这是位移位运算符,在这种情况下,它将整个值向右移一位。
例如:
13 >> 2
01101
00110 //right by one
00011 //repeat
= 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.