2014-02-19 82 views

回答

4

305419896以二進制表示的是1001000110100010101100111100(即29位)。如果我們取這個值並將所有位右移28位,我們最終只能得到1(二進制和十進制)。

2

您可以將>> n視爲2^n的截斷除法。

305419896/2^28 -> 305419896/268435456 -> 1.1377777755260468 

的小數部分被丟棄,讓你有1

當然,作爲andars說,計算機通過位移來實現的。
閱讀this question有一個很好的理解。

相關問題