JS实现进制转换
程序员文章站
2022-06-08 20:48:02
js实现进制转换:js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用对象.tostring()即可实现:
//10进制转为16进制
(1...
js实现进制转换:js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用对象.tostring()即可实现:
//10进制转为16进制 (10).tostring(16) // =>"a" //8进制转为16进制 (012).tostring(16) // =>"a" //16进制转为10进制 (0x16).tostring(10) // =>"22" //16进制转为8进制 (0x16).tostring(8) // =>"26" //10进制转为2进制 //=> (1111).tostring(2) // => "10001010111" //8进制转为2进制 //=> (01111).tostring(2) //=>"1001001001" //16进制转为2进制 //=> (0x16).tostring(2) // => "10110"
如果是其它进制转10进制,则需要用paresint这个方法:
//2进制到10进制; parseint(10,2) //=>2 //2进制到10进制; parseint(100,2) //=>4 //16进制到10进制 parseint(12, 16) //=>18 //8进制到10进制 parseint(12,8); //=>10这样显得颇为麻烦,为此我封装了一个函数,可以*的实现进制转换:
/** * 进制转换函数 * @param string num 待转换的进制数,如 110(二进制),26(八进制),10(十进制),af(十六进制) * @param interger from 源进制 2|8|10|16 * @param interger to 目标进制 2|8|10|16 * @return 转换结果 */ function convert(num,from,to){ var pattern=/^(2|8|10|16){1}$/; if(!pattern.test(from)||!pattern.test(to)){ console.error('源进制from和目标进制to必须都为[2,8,10,16]其中的数字'); return; } //如果源进制为十进制 if(from==10){ return parseint(num).tostring(to); } //如果目标进制是十进制 if(to==10){ return parseint(num,from); } //其他进制的转换 return parseint(num,from).tostring(to); }效果:
alert(convert(10,10,2)); // 十进制转成二进制,1010 alert(convert(11,10,16)); // 十进制转成十六进制,b alert(convert(1111,2,16)); // 二进制转成十六进制,f
上一篇: python树莓派红外反射传感器
下一篇: STM32通用定时器的输出比较