js 位移運算


在google chrome下進行測試。

js中位移運算有3種:左移(<<)、無符號右移(>>>)、有符號右移(>>)(都是對補碼進行移動)

左移:是無符號的左移運算。左移32位變成原來的值

  原值:-5  

  補碼:11111111111111111111111111111011

  左移29位,變成:

  值:1610612736

  補碼:01100000000000000000000000000000

  左移32位,又變成原值-5:

  

  原值:1

  補碼:00000000000000000000000000000001

  左移31位,變成:

  值:-2147483648

  補碼:10000000000000000000000000000000

  左移32位,又變成原值1

無符號右移(>>>):左邊補0,運算結果為一無符號32位整數。右移32位變為原來的值

  -1

  右移一位,變成:2147483647

  補碼:01111111111111111111111111111111

  右移32為,變為:4294967295,即為-1的補碼。

  補碼:11111111111111111111111111111111

有符號右移(>>):左邊補符號位。移動32位,變為原來的值

  -1

  右移1位還是-1

  1

  右移一位變為0

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM