javascript實現(xiàn)二進制、十進制、十六進制和八進制之間相互轉(zhuǎn)換的方法
在 JavaScript 中,可以方便地進行二進制、十進制、十六進制和八進制之間的相互轉(zhuǎn)換。下面為你詳細介紹每種轉(zhuǎn)換的代碼示例和原理。
1. 十進制轉(zhuǎn)其他進制
十進制轉(zhuǎn)二進制
使用 Number.prototype.toString(2) 方法將十進制數(shù)轉(zhuǎn)換為二進制字符串。
const decimalNumber = 10; const binaryString = decimalNumber.toString(2); console.log(binaryString); // 輸出: '1010'
講解:toString() 方法是 JavaScript 中 Number 對象的一個方法,它接受一個可選參數(shù) radix,表示轉(zhuǎn)換的進制,取值范圍是 2 到 36。當 radix 為 2 時,就會將十進制數(shù)轉(zhuǎn)換為二進制字符串。
十進制轉(zhuǎn)八進制
使用 Number.prototype.toString(8) 方法將十進制數(shù)轉(zhuǎn)換為八進制字符串。
const decimalNumber = 10; const octalString = decimalNumber.toString(8); console.log(octalString); // 輸出: '12'
講解:同樣,當 radix 為 8 時,toString() 方法會將十進制數(shù)轉(zhuǎn)換為八進制字符串。
十進制轉(zhuǎn)十六進制
使用 Number.prototype.toString(16) 方法將十進制數(shù)轉(zhuǎn)換為十六進制字符串。
const decimalNumber = 255; const hexadecimalString = decimalNumber.toString(16); console.log(hexadecimalString); // 輸出: 'ff'
講解:當 radix 為 16 時,toString() 方法會將十進制數(shù)轉(zhuǎn)換為十六進制字符串,其中 10 - 15 會用字母 a - f 表示。
2. 其他進制轉(zhuǎn)十進制
二進制轉(zhuǎn)十進制
使用 parseInt() 函數(shù),將二進制字符串轉(zhuǎn)換為十進制數(shù)。
const binaryString = '1010'; const decimalNumber = parseInt(binaryString, 2); console.log(decimalNumber); // 輸出: 10
講解:parseInt() 函數(shù)接受兩個參數(shù),第一個參數(shù)是要轉(zhuǎn)換的字符串,第二個參數(shù)是字符串的進制。當?shù)诙€參數(shù)為 2 時,會將二進制字符串轉(zhuǎn)換為十進制數(shù)。
八進制轉(zhuǎn)十進制
使用 parseInt() 函數(shù),將八進制字符串轉(zhuǎn)換為十進制數(shù)。
const octalString = '12'; const decimalNumber = parseInt(octalString, 8); console.log(decimalNumber); // 輸出: 10
講解:當 parseInt() 函數(shù)的第二個參數(shù)為 8 時,會將八進制字符串轉(zhuǎn)換為十進制數(shù)。
十六進制轉(zhuǎn)十進制
使用 parseInt() 函數(shù),將十六進制字符串轉(zhuǎn)換為十進制數(shù)。
const hexadecimalString = 'ff'; const decimalNumber = parseInt(hexadecimalString, 16); console.log(decimalNumber); // 輸出: 255
講解:當 parseInt() 函數(shù)的第二個參數(shù)為 16 時,會將十六進制字符串轉(zhuǎn)換為十進制數(shù)。
3. 二進制、八進制、十六進制之間的相互轉(zhuǎn)換
可以先將源進制轉(zhuǎn)換為十進制,再將十進制轉(zhuǎn)換為目標進制。
二進制轉(zhuǎn)八進制
const binaryString = '1010'; const decimalNumber = parseInt(binaryString, 2); const octalString = decimalNumber.toString(8); console.log(octalString); // 輸出: '12'
講解:先使用 parseInt() 函數(shù)將二進制字符串轉(zhuǎn)換為十進制數(shù),再使用 toString(8) 方法將十進制數(shù)轉(zhuǎn)換為八進制字符串。
二進制轉(zhuǎn)十六進制
const binaryString = '11111111'; const decimalNumber = parseInt(binaryString, 2); const hexadecimalString = decimalNumber.toString(16); console.log(hexadecimalString); // 輸出: 'ff'
講解:先將二進制字符串轉(zhuǎn)換為十進制數(shù),再將十進制數(shù)轉(zhuǎn)換為十六進制字符串。
八進制轉(zhuǎn)二進制
const octalString = '12'; const decimalNumber = parseInt(octalString, 8); const binaryString = decimalNumber.toString(2); console.log(binaryString); // 輸出: '1010'
講解:先將八進制字符串轉(zhuǎn)換為十進制數(shù),再將十進制數(shù)轉(zhuǎn)換為二進制字符串。
八進制轉(zhuǎn)十六進制
const octalString = '377'; const decimalNumber = parseInt(octalString, 8); const hexadecimalString = decimalNumber.toString(16); console.log(hexadecimalString); // 輸出: 'ff'
講解:先將八進制字符串轉(zhuǎn)換為十進制數(shù),再將十進制數(shù)轉(zhuǎn)換為十六進制字符串。
十六進制轉(zhuǎn)二進制
const hexadecimalString = 'ff'; const decimalNumber = parseInt(hexadecimalString, 16); const binaryString = decimalNumber.toString(2); console.log(binaryString); // 輸出: '11111111'
講解:先將十六進制字符串轉(zhuǎn)換為十進制數(shù),再將十進制數(shù)轉(zhuǎn)換為二進制字符串。
十六進制轉(zhuǎn)八進制
const hexadecimalString = 'ff'; const decimalNumber = parseInt(hexadecimalString, 16); const octalString = decimalNumber.toString(8); console.log(octalString); // 輸出: '377'
講解:先將十六進制字符串轉(zhuǎn)換為十進制數(shù),再將十進制數(shù)轉(zhuǎn)換為八進制字符串。
綜上所述,通過 toString() 方法和 parseInt() 函數(shù),可以方便地在 JavaScript 中進行二進制、十進制、十六進制和八進制之間的相互轉(zhuǎn)換。
總結(jié)
到此這篇關于javascript實現(xiàn)二進制、十進制、十六進制和八進制之間相互轉(zhuǎn)換的文章就介紹到這了,更多相關js二進制、十進制、十六進制和八進制相互轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何使用pace.js美化你的網(wǎng)站加載進度條詳解
Pace.js是一個非常有意思的js插件,可以自動的監(jiān)聽頁面的加載數(shù)據(jù),并且能夠定制加載條,下面這篇文章主要給大家介紹了關于使用pace.js如何美化你的網(wǎng)站加載進度條的相關資料,需要的朋友可以參考下2022-02-02
JavaScript錯誤處理try..catch...finally+涵蓋throw+TypeError+RangeEr
這篇文章主要介紹了JavaScript錯誤處理:try..catch...finally+涵蓋throw+TypeError+RangeError,文章內(nèi)容具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助2021-12-12

