javascript实现二进制、十进制、十六进制和八进制之间相互转换的方法

 更新时间:2025年02月25日 08:29:35   作者:桃子叔叔  
JavaScript提供了多种方法进行不同进制之间的转换,包括十进制转二进制、八进制、十六进制,以及二进制、八进制、十六进制之间的相互转换,通过使用Number.prototype.toString()和parseInt()函数,可以实现这些转换,需要的朋友可以参考下

在 JavaScript 中,可以方便地进行二进制、十进制、十六进制和八进制之间的相互转换。下面为你详细介绍每种转换的代码示例和原理。

1. 十进制转其他进制

十进制转二进制

使用 Number.prototype.toString(2) 方法将十进制数转换为二进制字符串。

const decimalNumber = 10;
const binaryString = decimalNumber.toString(2);
console.log(binaryString); // 输出: '1010'

讲解toString() 方法是 JavaScript 中 Number 对象的一个方法,它接受一个可选参数 radix,表示转换的进制,取值范围是 2 到 36。当 radix 为 2 时,就会将十进制数转换为二进制字符串。

十进制转八进制

使用 Number.prototype.toString(8) 方法将十进制数转换为八进制字符串。

const decimalNumber = 10;
const octalString = decimalNumber.toString(8);
console.log(octalString); // 输出: '12'

讲解:同样,当 radix 为 8 时,toString() 方法会将十进制数转换为八进制字符串。

十进制转十六进制

使用 Number.prototype.toString(16) 方法将十进制数转换为十六进制字符串。

const decimalNumber = 255;
const hexadecimalString = decimalNumber.toString(16);
console.log(hexadecimalString); // 输出: 'ff'

讲解:当 radix 为 16 时,toString() 方法会将十进制数转换为十六进制字符串,其中 10 - 15 会用字母 a - f 表示。

2. 其他进制转十进制

二进制转十进制

使用 parseInt() 函数,将二进制字符串转换为十进制数。

const binaryString = '1010';
const decimalNumber = parseInt(binaryString, 2);
console.log(decimalNumber); // 输出: 10

讲解parseInt() 函数接受两个参数,第一个参数是要转换的字符串,第二个参数是字符串的进制。当第二个参数为 2 时,会将二进制字符串转换为十进制数。

八进制转十进制

使用 parseInt() 函数,将八进制字符串转换为十进制数。

const octalString = '12';
const decimalNumber = parseInt(octalString, 8);
console.log(decimalNumber); // 输出: 10

讲解:当 parseInt() 函数的第二个参数为 8 时,会将八进制字符串转换为十进制数。

十六进制转十进制

使用 parseInt() 函数,将十六进制字符串转换为十进制数。

const hexadecimalString = 'ff';
const decimalNumber = parseInt(hexadecimalString, 16);
console.log(decimalNumber); // 输出: 255

讲解:当 parseInt() 函数的第二个参数为 16 时,会将十六进制字符串转换为十进制数。

3. 二进制、八进制、十六进制之间的相互转换

可以先将源进制转换为十进制,再将十进制转换为目标进制。

二进制转八进制

const binaryString = '1010';
const decimalNumber = parseInt(binaryString, 2);
const octalString = decimalNumber.toString(8);
console.log(octalString); // 输出: '12'

讲解:先使用 parseInt() 函数将二进制字符串转换为十进制数,再使用 toString(8) 方法将十进制数转换为八进制字符串。

二进制转十六进制

const binaryString = '11111111';
const decimalNumber = parseInt(binaryString, 2);
const hexadecimalString = decimalNumber.toString(16);
console.log(hexadecimalString); // 输出: 'ff'

讲解:先将二进制字符串转换为十进制数,再将十进制数转换为十六进制字符串。

八进制转二进制

const octalString = '12';
const decimalNumber = parseInt(octalString, 8);
const binaryString = decimalNumber.toString(2);
console.log(binaryString); // 输出: '1010'

讲解:先将八进制字符串转换为十进制数,再将十进制数转换为二进制字符串。

八进制转十六进制

const octalString = '377';
const decimalNumber = parseInt(octalString, 8);
const hexadecimalString = decimalNumber.toString(16);
console.log(hexadecimalString); // 输出: 'ff'

讲解:先将八进制字符串转换为十进制数,再将十进制数转换为十六进制字符串。

十六进制转二进制

const hexadecimalString = 'ff';
const decimalNumber = parseInt(hexadecimalString, 16);
const binaryString = decimalNumber.toString(2);
console.log(binaryString); // 输出: '11111111'

讲解:先将十六进制字符串转换为十进制数,再将十进制数转换为二进制字符串。

十六进制转八进制

const hexadecimalString = 'ff';
const decimalNumber = parseInt(hexadecimalString, 16);
const octalString = decimalNumber.toString(8);
console.log(octalString); // 输出: '377'

讲解:先将十六进制字符串转换为十进制数,再将十进制数转换为八进制字符串。

综上所述,通过 toString() 方法和 parseInt() 函数,可以方便地在 JavaScript 中进行二进制、十进制、十六进制和八进制之间的相互转换。

总结

到此这篇关于javascript实现二进制、十进制、十六进制和八进制之间相互转换的文章就介绍到这了,更多相关js二进制、十进制、十六进制和八进制相互转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ES6之Proxy的使用详解

    ES6之Proxy的使用详解

    Proxy是ES6新增的内置对象,用于拦截并自定义对象的各种操作,通过定义拦截器,可以实现数据校验和保护、日志记录、数据绑定和观察等功能
    2025-01-01
  • 深入JS继承

    深入JS继承

    这篇文章主要介绍了深入JS继承,对继承感兴趣的同学,可以参考下
    2021-05-05
  • 如何使用pace.js美化你的网站加载进度条详解

    如何使用pace.js美化你的网站加载进度条详解

    Pace.js是一个非常有意思的js插件,可以自动的监听页面的加载数据,并且能够定制加载条,下面这篇文章主要给大家介绍了关于使用pace.js如何美化你的网站加载进度条的相关资料,需要的朋友可以参考下
    2022-02-02
  • js实现简易计算器小功能

    js实现简易计算器小功能

    这篇文章主要为大家详细介绍了js实现简易计算器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • js点击时关闭该范围下拉菜单之外的菜单方法

    js点击时关闭该范围下拉菜单之外的菜单方法

    下面小编就为大家分享一篇js点击时关闭该范围下拉菜单之外的菜单方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • JavaScript事件委托原理与用法实例分析

    JavaScript事件委托原理与用法实例分析

    这篇文章主要介绍了JavaScript事件委托原理与用法,结合实例形式较为详细的分析了JavaScript事件流以及事件委托相关原理、用法与操作注意事项,需要的朋友可以参考下
    2018-06-06
  • JavaScript错误处理try..catch...finally+涵盖throw+TypeError+RangeError

    JavaScript错误处理try..catch...finally+涵盖throw+TypeError+RangeEr

    这篇文章主要介绍了JavaScript错误处理:try..catch...finally+涵盖throw+TypeError+RangeError,文章内容具有一定的参考价值,需要的小伙伴可以参考一下,希望对你有所帮助
    2021-12-12
  • 判断访客终端类型集锦

    判断访客终端类型集锦

    本文给大家讲解的是使用php和javascript实现的判断访客终端类型的方法集锦,十分的简单实用,有需要的小伙伴可以参考下。
    2015-06-06
  • js生成随机数的过程解析

    js生成随机数的过程解析

    这篇文章主要介绍了js生成随机数的过程,如何生成[n,m]的随机整数,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • 利用JS实现数字增长

    利用JS实现数字增长

    做项目时候常常遇到,要做一个数字滚动增加的效果。如何利用JavaScript实现数字增长效果,一起来跟本文学习学习。
    2016-07-07

最新评论