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>

解决方案 »

  1.   

    <html><head>
    <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>
      

  2.   

    javascript里面本来就有这样的方法:var i = 987654321
    alert(i)
    alert((i).toString(2))
    alert((i).toString(16))
      

  3.   


    var n = 987654321
    for (var i=2;i<37;i++)
        document.write(i+"进制:"+n.toString(i)+"<br>");
      

  4.   

    to  emu_ston(emu)   你是emu??
      

  5.   

    不好意思,不知道,呵呵,
    估计toString函数里面也是这样写的
      

  6.   

    我以前在VB中写了两个函数,把它们改成JavaScript就可以了。
    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
      

  7.   

    var n = 987654321
    var strRet = "";
    for ( var i=0; i<32; i++ )
    {
       strRet = (( n & (1 << i) ) ? 1 : 0).toString() + strRet;
    }
    alert( strRet )
      

  8.   

    var a = 100.25;//十进制
    var b = parseFloat(a.toString(2));//二进制
      

  9.   

    vbs脚本可以帮你写一个!
    方法1:hex()函数转成16进制,然后转2进制好转
    方法2:除二取余倒写
      

  10.   

    .toString(2) 不需要parseFloat,否则就“变味”了