日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js 位运算符 ~, ,| ,^

發布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js 位运算符 ~, ,| ,^ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、位運算 NOT 由否定號(~)表示

位運算 NOT 是三步的處理過程:

  • 把運算數轉換成 32 位數字
  • 把二進制數轉換成它的二進制反碼
  • 把二進制數轉換成浮點數
  • 例如:

    //31位表示整數的數值,用第 32 位表示整數的符號,0 表示正數,1 表示負數 var a1 = 35; //35 0000 0000 0000 0000 0000 0000 0010 0011 //為了看到清楚 4位斷一下 var a2 = ~a1; //轉換為 1111 1111 1111 1111 1111 1111 1101 1100 console.log(a2) // -26

    位運算 NOT 實質上是對數字求負,然后減 1,因此 25 變 -26。例:

    var a1 = 35; var a2 = -a1 - 1 console.log(a2) // -36

    ?2、位運算 AND 由和號(&)表示

    位運算 AND 是三步的處理過程:

  • 把運算數轉換成 二進制數, 位數不夠左側用0補位
  • 遵循只有同為1的時候等于1,否則為0的原則求得二進制結果
  • 將得到的 二進制數轉為十進制。
  • 例:

    var a = 33; 0010 0001 var b = 47; 0010 1111=>0010 0001 轉換為10進制 等于33 即 console.log( 33 & 47) // 33

    3、位運算 OR 由符號(|)表示

    位運算 OR 是三步的處理過程:

  • 把運算數轉換成 二進制數, 位數不夠左側用0補位
  • 遵循只有同為0的時候等于0,否則為1的原則求得二進制結果
  • 將得到的 二進制數轉為十進制。
  • 例:

    var a = 27; 0001 1011 var b = 51; 0011 0011=> 0011 1011 轉換為十進制 59 即 console.log(a | b) // 59

    4、位運算 XOR 由符號(^)表示

    位運算 XOR 是三步的處理過程:

  • 把運算數轉換成 二進制數, 位數不夠左側用0補位
  • 遵循當只有一個數位存放的是 1 時,它才返回 1,否則為0的原則求得二進制結果
  • 將得到的 二進制數轉為十進制。
  • 例:?

    var a = 77; => 0100 1101 var b = 61; => 0011 1101=> 0111 0000 轉換為十進制 => 112 即console.log( 77 ^ 61 ) // 等于 112

    ?

    總結

    以上是生活随笔為你收集整理的js 位运算符 ~, ,| ,^的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。