MoonCheung

MoonCheung

人生路漫漫,何曾有坦途。:)

演算法解析

位運算:#

在學習位運算之前需要了解十進制如何轉二進制,二進制如何轉十進制,這裡說明簡單計算方式:要從右到左用二進制的每個數去乘以 2 的相應次方,小數點後則是從左往右

  1. 例如:二進制如何轉十進制位運算
    所以總結起來通用公式為:位運算 1
  2. 例如:十進制如何轉二進制
    十進制整數轉換為二進制整數採用除 2 取餘,逆序排列法。具體做法:用 2 整除十進制整數,可以得到一個商和餘數;再用 2 去除商,又會得到一個商和餘數,如此進行,直到商為小於 1 時為止,然後把先得到的餘數作為二進制數的低位有效位,後得到的餘數作為二進制數的高位有效位,依次排列起來。如:255=(11111111) B

左移 <<:#

10 << 1; //-> 10在二進制表示為1010,計算左移1位等於10100,然後再次轉換十進制得到20

右移 >>:#

13 >> 1; // -> 十進制13看成12+1,12在二進制表示為‭1100‬,計算右移1位等於110,然後再次轉換十進制得到

按位操作:#

按位與:#

每一位都為 1,結果才為 1, 否則為 0

10 & 8; // -> 1010 & 1000 == 1000 -> 8

按位或:#

其中一位為 1,結果就是 1, 否則為 0

10 | 8; // -> 1010 | 1000 == 1010 -> 10

按位異或:#

每一位都不同,結果才為 1, 否則為 0

15 ^ 5; // -> ‭1111‬ ^ ‭0101‬ == 1010‬ -> 10
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。