關於 JavaScript 的進制轉換
前言
在先前的 關於 BigInt 轉換非十進制的作法 裡做了 BigInt 的進制轉換的介紹,這次來學習更多的進制轉換,在此把學習的過程做個紀錄。
內容
範例如下
let num = 42; let hexNum = num.toString( 16 ); // console.log( hexNum );//2a //Hex int to int console.log( parseInt( hexNum , 16 ) );//42 //Hex int to BigInt console.log( BigInt( "0x"+hexNum ).toString() );//42 //Binary to BigInt console.log( BigInt( "0b"+"11111111111111111111111111111111111111111111111111111" ).toString() ); //"9007199254740991" //Octal to BigInt console.log( BigInt( "0o"+"71" ).toString() );//"57"
範例開頭示範的是把 Number 轉換進制,是透過 Number.toString() 來達成,透過參數可以決定要轉換的進制,如果要把它轉換回原來的 Number ,可以透過 parseInt() 來達成,第二個參數就是要轉換的進制,如果要把非十進制的 Number 轉到 BigInt 呢?可以透過 BigInt 的建構式來達成,在建構式輸入進制的字串就可以轉換,二進制的前方是 "0b" ,八進制的前方是 "0o" ,十六進制的前方是 "0x",那如果碰到非二進制 ,也非八進制與十六進制呢?這些情況就要透過 parseInt() 先變回十進制再轉 BigInt 。
參考資料
[ tech.havocfuture.tw ] 如何使用 javascript 進行十進位、十六進位轉換
[ developer.mozilla.org ] BigInt
沒有留言:
張貼留言