JavaScript 進位制轉換、數位的表示形式


JavaScript 定義帶進位的計算方法

進位系統使用 JavaScript 函數數字進制變換,進位制中可以使用的數字符號的數目,亦可稱為進位制的基數或底數。

JavaScript 二進位制轉為十進位制

二進位制是計算機技術廣泛採用的數制。二進製數據是用 0 和 1 兩個數位來表示。它的基數為 2,進位規則是逢二進一。

var result = parseInt(this.value, 2)

JavaScript 十進位制轉為二進位制

var result = parseInt(this.value).toString(2);

相關於二進位的一些計算

11111111 = 255  // 8 個位數
1111111111111111 = 65535  // 16 個位數
111111111111111111111111 = 16777215  // 24 個位數
11111111111111111111111111111111 = 4294967295  // 32 個位數

移位運算子 <<, >>

var temp
temp = 14 << 2
temp = 56

將運算式的位元向左移位。
因為 14 (二進位為 00001110) 向左移兩位元就等於 56 (二進位為 00111000)。


var temp
temp = 14 >> 2
temp = 3

將運算式的位元向右移位。
因為 14 (二進位為 00001110) 向左移兩位元就等於 3 (二進位為 00000011)。


二進位的位元向左移位變化。

00000001 = 1
00000010 = 2
00000100 = 4
00001000 = 8
00010000 = 16
00100000 = 32
01000000 = 64
10000000 = 128
00000001 = 1    +1 = 2
00000011 = 3    +1 = 4
00000111 = 7    +1 = 8
00001111 = 15   +1 = 16
00011111 = 31   +1 = 32
00111111 = 63   +1 = 64
01111111 = 127  +1 = 128
11111111 = 255  +1 = 256

邏輯運算、位元運算 Logical Bitwise 位元運算子(Bitwise operator),數位設計 AND、OR、NOT、XOR 與補數等運算。

  •     01111111  十進位 127
    AND 00100000  十進位 32
      = 00100000  十進位 32
  •     01111111  十進位 127
    OR  00100000  十進位 32
     =  01111111  十進位 127
  •     01111111  十進位 127
    XOR 00100000  十進位 32
      = 01011111  十進位 95

JavaScript 十進位制轉為八進位制

var result = parseInt(this.value).toString(8);

JavaScript 十進位制轉為十六進位制

十六進制 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F

var result = parseInt(this.value).toString(16).toUpperCase();

JavaScript 十六進位制轉為十進位制

var result = parseInt(this.value, 16);