·悄然 - 2024-12-17 15:19
·悄然 - 2024-12-15 15:12
·悄然 - 2024-12-9 12:32
·飞飞 - 2024-12-9 12:31
·小希 - 2024-12-7 11:50
·飞飞 - 2024-12-5 15:53
·飞飞 - 2024-12-3 16:42
·悄然 - 2024-12-3 16:41
·飞飞 - 2024-12-1 18:27
JS:进制及十进制与其它进制间的互转
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 发布: 近段时间老师写教程的字越来越大个儿。。晕乎乎的进来又出去了,。哈哈。。正在做贴中。。