马黑PHP整站系统

JS:进制及十进制与其它进制间的互转

位置: 首页 > 前端三套件[ 发布时间: 2024.1.22  作者: 马黑  阅读: 232 ]

JavaScript 提供的进制表示方法共四种:二进制、八进制、十进制、十六进制。简述如下:

一、进制

(一)二进制 binary

取值 0 和 1,前缀 0b 或 0B 【例】0101,0b0101,0B0101

(二)八进制 octal

取值 0~7,前缀 0o 或 0O 【例】1502,0o1502,0O1502

(三)十进制 decimal

取值 0~9,无前缀 【例】2013

(四)十六进制 hexadecimal

取值 0~9 和 a~f,前缀 0x 或 0X 【例】10ffc6,0xffc6,0Xffc6

【注意】非严格模式下,0开头的数字若只用到 0~7,被视为八进制,若后面出现8~9,则被视为十进制;严格模式下,十进制以 0 开头会报错。各种进制的数值超过给定范围会报错。

二、进制转换

(一)十进制转其它进制

使用 toString 方法

语法:数字.toString(进制基数)

举例如下:

let num = 200; /* 声明一个待转换的十进制数值 */

console.log(num.toString(2));/* 11001000 */
console.log(num.toString(8)); /* 310 */
console.log(num.toString(16)); /* c8 */

(二)其它进制转十进制

① 使用 parseInt 方法

语法:parseInt(str, radix)

parseInt 强制将字串转为整数,参数一为需要转换的进制数值字串,参数二指明原进制基数。举例:

let a = '11001000'; // 二进制字串
console.log(parseInt(a, 2)); // 200

let b = '310'; // 八进制字串
console.log(parseInt(b, 8)); // 200

let c = 'c8'; // 十六进制字串
console.log(parseInt(c, 16)); // 200

【注意】parseInt 方法,仅支持十六进制带前缀,二、八进制字串带前缀都会被转换为 0。

② 使用 Number 方法

语法:Number(字符串)

Number 将字符转为数字,需要一个字符串参数。此法需要待转换进制的字串必须带前缀。举例:

let a = '0b11001000'; // 二进制字串
console.log(Number(a)); // 200

let b = '0o310'; // 八进制字串
console.log(Number(b)); // 200

let c = '0xc8'; // 十六进制字串
console.log(Number(c)); // 200

③ + 方法

语法:+ 字符串

这是一元运算符(一元运算指从一个已知数演算出另一个数),真的很简单,看例子就理解了,要注意的是,进制字串必须带前缀:

let a = '0b11001000'; //二进制字串
console.log(+ a); // 200

let b = '0o310'; //八进制字串
console.log(+ b); // 200

let c = '0xc8'; //十六进制字串
console.log(+ c); // 200

前一篇: 背景混合模式 background-blend-mode 演示
下一篇: css :用accent-color给火柴棒上点颜色

发表评论:

       

评论列表 [1条]

#1 | 悄然 于 2024-1-22 20:43 发布: 近段时间老师写教程的字越来越大个儿。。晕乎乎的进来又出去了,。哈哈。。正在做贴中。。

Copyright © 2023 All Right Reserved 马黑PHP文章管理整站系统v1.8
联系我们: gxblk@163.com