1. 程式人生 > >JS中二進位制與十進位制的相互轉換

JS中二進位制與十進位制的相互轉換

十進位制轉換為二進位制:

var num = 100; console.log(num.toString(2));

toString()方法可把一個 Number 物件轉換為一個字串,並返回結果。

語法

NumberObject.toString(radix);

其中,radix為可選。規定表示數字的基數,使 2 ~ 36 之間的整數。若省略該引數,則使用基數 10。但是要注意,如果該引數是 10 以外的其他值,則 ECMAScript 標準允許實現返回任意值。

返回值

數字的字串。例如,當 radix 為 2 時,NumberObject 會被轉換為二進位制值表示的字串。

丟擲

當呼叫該方法的物件不是 Number 時丟擲 TypeError 異常。

二進位制轉十進位制:

var num = 1100100; console.log(parseInt(num,2));

parseInt() 函式可解析一個字串,並返回一個整數。

語法

parseInt(string, radix);

其中,string為必需。要被解析的字串。radix為可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間。如果省略該引數或其值為 0,則數字將以 10 為基礎來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數。如果該引數小於 2 或者大於 36,則parseInt() 將返回 NaN。

返回值

返回解析後的數字。

說明

當引數 radix 的值為 0,或沒有設定該引數時,parseInt() 會根據 string 來判斷數字的基數。
舉例,如果 string 以 "0x" 開頭,parseInt() 會把 string 的其餘部分解析為十六進位制的整數。如果 string 以 0 開頭,那麼 ECMAScript v3 允許 parseInt() 的一個實現把其後的字元解析為八進位制或十六進位制的數字。如果 string 以 1 ~ 9 的數字開頭,parseInt() 將把它解析為十進位制的整數。

提示和註釋

註釋:只有字串中的第一個數字會被返回。
註釋:開頭和結尾的空格是允許的。
提示:如果字串的第一個字元不能被轉換為數字,那麼 parseFloat() 會返回 NaN。

parseInt(num,8);   //八進位制轉十進位制
parseInt(num,16); //十六進位制轉十進位制 parseInt(num).toString(8) //十進位制轉八進位制 parseInt(num).toString(16) //十進位制轉十六進位制 parseInt(num,2).toString(8) //二進位制轉八進位制 parseInt(num,2).toString(16) //二進位制轉十六進位制 parseInt(num,8).toString(2) //八進位制轉二進位制 parseInt(num,8).toString(16) //八進位制轉十六進位制 parseInt(num,16).toString(2) //十六進位制轉二進位制 parseInt(num,16).toString(8) //十六進位制轉八進位制