JavaScript 如何将十进制转换为十六进制

JavaScript 如何将十进制转换为十六进制

对于任何使用低级语言或汇编语言进行编程的计算机程序员来说,将十进制转换为十六进制是一项基本任务。在Web开发中,我们使用颜色,并且通常使用十六进制颜色代码来表示它们。在JavaScript中,由于ECMA提供的内置函数和方法,将十进制转换为十六进制非常简单。在本文中,我们将讨论多种将十进制转换为十六进制的方法,并给出相应的示例。

  • 使用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>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程