js中对数字(number)进行的操作总结(代码)
程序员文章站
2022-04-06 21:33:37
...
本篇文章给大家带来的内容是关于js中对数字(number)进行的操作总结(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1.获取数字 num 二进制形式第 bit 位的值。注意:
1、bit 从 1 开始
2、返回 0 或 1
3、举例:2 的二进制为 10,第 1 位为 0,第 2 位为 1
function valueAtBit(num, bit) { var s = num.toString(2); return s[s.length - bit]; } function valueAtBit(num, bit) { //toString转化为二进制,split将二进制转化为数组,reverse()将数组颠倒顺序 var arr = num.toString(2).split("").reverse(); return arr[bit-1]; } function valueAtBit(num, bit) { return (num >> (bit -1)) & 1; }
2.给定二进制字符串,将其换算成对应的十进制数字
function base10(str) { return parseInt(str,2); }
3.将给定数字转换成二进制字符串。如果字符串长度不足 8 位,则在前面补 0 到满8位。
function convertToBinary(num) { //转换为2进制格式 var s = num.toString(2); //获得2进制数长度 var l = s.length; if(l<8){ //声明一个字符串用于补满0 var s1 = "0000000"; var s2 = s1.slice(0,8-l); s = s2+s; } return s; } function convertToBinary(num) { var str = num.toString(2); while(str.length < 8) { str = "0" + str; } return str; } function convertToBinary(num) { var s = num.toString(2); return '00000000'.slice(s.length) + s; } function convertToBinary(num) { return ('00000000' + num.toString(2)).slice(-8); //从倒数第八个开始取}
4.求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题
//根据两个书中精度较高的一个来确定,先将其转换成字符串,然后根据小数点的位置确定小数位数, //字符串长度减去‘.'的位置后还要再减去1得到正确的小数位数,两个取其大,然后用toFixed()函数确定 //结果的小数位数 function multiply(a, b) { //求两个数中精度大的一个 var stra=a.toString(); var strb=b.toString(); var len=Math.max(stra.length-stra.indexOf('.')-1,strb.length-strb.indexOf('.')-1); // return parseFloat(a*b).toFixed(len); }
相关推荐:
浅析js的事件绑定&事件监听&事件委托的之间内容以上就是js中对数字(number)进行的操作总结(代码)的详细内容,更多请关注其它相关文章!