如何在JavaScript中將十進位制轉換為十六進位制?


對於任何使用低階語言或組合語言工作的計算機程式設計師來說,將十進位制轉換為十六進位制或十六進位制是一個基本任務。在Web開發中,我們使用顏色,並且為了表示它們,使用十六進位制顏色程式碼是一種常見的做法。在Javascript中,由於ECMA提供的內建函式和方法,將十進位制轉換為十六進位制非常容易。在本文中,我們將討論使用適當示例在javascript中將十進位制轉換為十六進位制的多種方法。

  • 使用toString()方法

  • 使用自定義函式

使用toString()方法

顧名思義,toString()方法用於將數字轉換為字串,javascript中的每個物件都有toString()方法。此方法將基數作為引數(可選)。

語法

Number.toString( Radix ) 

這裡的基數在2到36之間。其中,2進製表示二進位制,8進製表示八進位制,16進製表示十六進位制。

返回值

此方法返回作為提供的基數值的數字的字串。

要將十進位制轉換為十六進位制,我們需要以下步驟:

  • 將toString()方法應用於數字。

  • 將16作為toString方法的引數傳遞。

示例

在這個例子中,我們使用toString方法將十進位制轉換為十六進位制。

<html>
<body>
   <h2>Convert decimal to hex using toString() method</h2>
   <p id="input"> Decimal: </p>
   <p id="output"> Hex: </p>
   <script>
      let num = 146541;
      document.getElementById("input").innerText += num;
      let hex = "";
      hex = num.toString(16).toUpperCase();      
      // Print the values
      document.getElementById("output").innerText += hex ;
   </script>
</body>
</html>

使用自定義邏輯

雖然javascript提供了將十進位制轉換為十六進位制的內建方法,但我們也可以實現自定義邏輯來將十進位制轉換為十六進位制。以下是步驟:

  • 建立一個包含所有十六進位制字元的變數,即“0123456789ABCDEF”。

  • 執行迴圈,直到十進位制數大於0。

  • 在每次迭代中,透過將其除以16來獲得十進位制數的餘數。

  • 並獲取餘數位置的十六進位制字元的字元,這就是你如何獲得相應的十六進位制字元。

  • 連線所有這些十六進位制字元。

  • 最後,在每次迭代中將十進位制數除以16。

示例

在這個例子中,我們透過建立一個自定義函式來將十進位制轉換為十六進位制。

<html>
<body>
   <h2>Convert decimal to hex using custom logic</h2>
   <p id="input"> Decimal: </p>
   <p id="output"> Hex: </p>
   <script>
      // Define the decimal number to be converted
      let num = 116565;
      document.getElementById("input").innerText += num;
      
      // Define the hexadecimal characters used for mapping
      let hexChars = "0123456789ABCDEF";
      
      // Define variables for the result and the original number
      let result = "";
      let temp = num;
      
      // Convert the decimal number to a hexadecimal string
      while (num > 0) {
         let remainder = num % 16;
         result = hexChars[remainder] + result;
         num = Math.floor(num / 16);
      }
      document.getElementById("output").innerText += result ;
   </script>
</body>
</html>

更新於:2023年4月21日

1K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.