求javascript 10进制转16进制补零

JavaScript012

求javascript 10进制转16进制补零,第1张

//十进制转其他

var x=110

alert(x)

alert(x.toString(8))

alert(x.toString(32))

alert(x.toString(16))

//其他转十进制

var x='110'

alert(parseInt(x,2))

alert(parseInt(x,8))

alert(parseInt(x,16))

//其他转其他

//先用parseInt转成十进制再用toString转到目标进制

alert(String.fromCharCode(parseInt(141,8)))

alert(parseInt('ff',16).toString(2))

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lk188/archive/2009/07/02/4317459.aspx

因为js里没有类似 '0'*x的方法,也没有类似用1个字符串不足到指定长度的函数,所以只能自己写

function str_pad( hex ){

var zero = '00000000'

var tmp = 8-hex.length

return zero.substr(0,tmp) + hex

}

js中">>"这个符号作用是把一个整型数的所有位向右移动指定的位数,移动到右边界之外的多余二进制位会被丢弃,并从左边界移入一个二进制位,若原数的最高位为1,则移入的二进制位为1,否则为0。代表右移运算符,就相当于“shr”。该运算符为双目运算符,结合方向为从左到右。

扩展资料:

在js中,左移是逻辑/算术左移(两者完全相同),右移是算术右移,会保持符号位不变。实际应用中可以根据情况用左/右移做快速的乘/除运算,这样会比循环效率高很多。

移位时,移出的位数全部丢弃,移出的空位补入的数与左移还是右移有关。如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是否带符号有关。若是不带符号数,则补入的数全部为0;若是带符号数,则补入的数全部等于原数的最左端位上的原数(即原符号位)。

参考资料来源:

百度百科——>>

百度百科——右移运算符