2015-11-06 49 views
-1

我有問題,問如何使用二進制數來計算c等值。我研究它,但現在,但想法身份證問在這裏,如果任何人有一個地方,他們可以寄給我或解釋它是如何工作的。C++,二進制數的計算

int main() 
{ 
int a 10, int b = 12, int c, int d; 

int c = a << 2; //output 40 
} 
+0

查找按位移。回答這只是做你的功課。 –

+0

練習冊中沒有包含特定的行,命令或表達式嗎?或者你是否希望我們先從解釋第一行中的'int'開始,每次繼續一個符號? – usr2564301

+1

這不起作用(甚至不會編譯)。 「<<」是用乘以2的冪來定義的,所以'x << 2'與'x * 4'相同。 –

回答

0

嗯,我沒有回答C++代碼,因爲問題並沒有真正與語言相關。

整數十被寫入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 < < 2是101000
即十進制2^5 + 2^3 = 32 + 8 = 40

還可以想到 「< < N」 作爲由2^N乘法的整數。