我有疑问,询问如何用二进制数计算c等值。我正在研究它,但现在但想到这里的问题,如果有人在某个地方,他们可以发送给我或解释它是如何工作的。
int main()
{
int a 10, int b = 12, int c, int d;
int c = a << 2; //output 40
}
答案 0 :(得分:0)
好吧,我没有回答C ++代码,因为问题与语言没有关系。
整数十在基数10 中写成10,因为它等于1 * 10 ^ 1 + 0 * 10 ^ 0。 二进制是 base 2 ,所以让我们尝试将10写为2的幂之和。
10 = 8 + 2
那是2 ^ 3 + 2 ^ 1。
让我们切换到二进制(只使用两位数:0和1)
2 ^ 3写成1000
2 ^ 1写成10
它们的总和是1010二进制。
“&lt;&lt; ”是将二进制数字移动一定量的操作(小心溢出)。
所以1010&lt;&lt; 2是101000
这是十进制的2 ^ 5 + 2 ^ 3 = 32 + 8 = 40
您还可以将“&lt;&lt; N”视为乘以整数的2 ^ N.