c++,二进制数计算



我有一个问题,问如何用二进制数计算c等值。我正在研究它,但现在我想我会在这里问是否有人可以给我发消息或解释它是如何工作的。

int main()
{
int a 10, int b = 12, int c, int d;
int c = a << 2; //output 40
}

好吧,我不会用C++代码来回答,因为这个问题实际上与语言无关。

整数10以基数10写成10,因为它等于1*10^1+0*10^0。
二进制是基2,所以让我们试着把10写成2的幂和。

10=8+2
这是2^3+2^1。让我们切换到二进制(只使用两位数字:0和1)
2^3写为1000
2^1已写入10
它们的和是二进制的1010。

"<<"是将二进制数字左移一定量的操作(注意溢出)
因此1010<lt;2是101000
即小数点后2^5+2^3=32+8=40

你也可以把"<<N"看作是一个整数乘以2^N。

最新更新