2013-12-17 52 views

回答

2

在JavaScript ,你正在處理32位數字。

6363201 << 16結果在110000100011000010000010000000000000000,它們是比特。脫落斷第一比特(因爲你是由右至左移位,你最終00011000010000010000000000000000,其中它的一個(二進制)parseInt將告訴你是,不417018740736.

4

MDN Left Shift Operator

該運算符將第一操作數的位的指定數量的 左側引用。向左移位的多餘位被丟棄。零位 從右側移入。

報價Bitwise Shift Operators

移位運算符將其操作數爲32位整數的 大端順序和返還相同種類爲左 操作的結果。右邊的操作數應該小於32,但如果不是隻有 低5位將被使用。

6363201的二進制數是11000010001100001000001

當左移6363201 << 16,變得417018740736這在二進制是110000100011000010000010000000000000000

現在,從至少顯著位32位被保留,保留了實際位是00011000010000010000000000000000其對應於406913024