try:
<script>
var str = '';
function aa(d)
{
while (1) {
if (Math.ceil(d/2) == d/2) {
str += '0';
} else {
str += '1';
}
if (d == 0 || d == 1) {
str1 = '';
for (i=str.length; i>=0; i--) {
str1 += str.substr(i,1);
}
return str1;
break;
}
d = Math.floor(d/2); }
}
alert(aa(10))
</script>
<script>
var str = '';
function aa(d)
{
while (1) {
if (Math.ceil(d/2) == d/2) {
str += '0';
} else {
str += '1';
}
if (d == 0 || d == 1) {
str1 = '';
for (i=str.length; i>=0; i--) {
str1 += str.substr(i,1);
}
return str1;
break;
}
d = Math.floor(d/2); }
}
alert(aa(10))
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script>
function hexchange()
{
var hex,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
hex = dec.toString(16);
window.alert("该十进制数转成十六进制数为:"+ hex);
}
function octchange()
{
var oct,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
oct = dec.toString(8);
window.alert("该十进制数转成八进制数为:"+ oct);
}
function binchange()
{
var bin,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
bin = dec.toString(2);
window.alert("该十进制数转成二进制数为:"+ bin);
}
</script>
</head><body>
<form name="FKeyPad">
<input type="text" name="ReadOut">
<input type="button" onclick="hexchange();" value="十进制数转成十六进制数">
<input type="button" onclick="octchange();" value="十进制数转成八进制数">
<input type="button" onclick="binchange();" value="十进制数转成二进制数">
</form
</body></html>
alert(i)
alert((i).toString(2))
alert((i).toString(16))
var n = 987654321
for (var i=2;i<37;i++)
document.write(i+"进制:"+n.toString(i)+"<br>");
估计toString函数里面也是这样写的
Public Function Dec2Bin(Dec As Byte) As String
Dec2Bin = "00000000"
Dim vBit() As Byte
ReDim vBit(8) As Byte
Dim sBin As String * 8
'init bit values
For i = 1 To 8
Mid(sBin, i, 1) = "0"
vBit(i) = 2 ^ (i - 1)
Next i
'convert
For i = 8 To 1 Step -1
If Dec >= vBit(i) Then
Dec = Dec - vBit(i)
Mid(sBin, 8 - i + 1, 1) = "1"
End If
Next i
Dec2Bin = sBin
End Function
Public Function Bin2Dec(sBin As String) As Byte
Bin2Dec = 0
Dim vBit() As Byte
ReDim vBit(8) As Byte
Dim nDec As Byte
sBin = Space(8 - Len(sBin)) & sBin
sBin = Replace(sBin, " ", "0")
'init bit values
For i = 1 To 8
vBit(i) = 2 ^ (i - 1)
Next i
nDec = 0
'convert
For i = 8 To 1 Step -1
If Mid(sBin, 8 - i + 1, 1) = "1" Then nDec = nDec + vBit(i)
Next i
Bin2Dec = nDec
End Function
var strRet = "";
for ( var i=0; i<32; i++ )
{
strRet = (( n & (1 << i) ) ? 1 : 0).toString() + strRet;
}
alert( strRet )
var b = parseFloat(a.toString(2));//二进制
方法1:hex()函数转成16进制,然后转2进制好转
方法2:除二取余倒写