用javascript转换二进制输入

时间:2011-05-15 17:18:53

标签: javascript binary

我在做IEE754 - >在这个时刻dec和back转换器让自己成为指数对话的问题。

基本思想是分别转换所有3个部分然后用(-1)^(SIGN)* 1.MANTISSA * 2 ^(EXPONENT-127)计算它们。所有3个都是单独输入的,所以我不需要将二进制分成几部分。

function fl2dec(){
    var etuliite = document.getElementById('etu').value;

    var mant = document.getElementById('man').value;

    for (i=0;i>-24;i--)
    {
        //This part is the problem. i would like to do it something like  man = man+(0 or 1)x2^i;
    }
        var binn = document.getElementById('eks').value;
        var decn = parseInt(binn,2);

    //and here is the math part.

    }
    </script>

    <div style="text-align:center">
   <input type="text" id="etu"></input>
     <input type="text" id="eks"></input>
   <input type="text" id="man"></input>
 <button onclick="fl2dec;">IEEE 754 -> Dec</button>
  <input type="text" id="ulos"></input>
  <br />
</div>

或者如果你有其他想法如何做到这一点,我可以接受各种想法。

如果你有时间回答我的noobish问题,谢谢你。

1 个答案:

答案 0 :(得分:0)

这篇文章只展示了一些如何在Javascript中执行操作的方法;它并不试图真正解决问题。适当地离开或离开。


“0或1”可以使用三元表达式表示:expr ? when_true : when_false,其中when_true为1且when_false为0(或反转),如下所示。

“2 ^ i”可以表示为1 << iMath.pow(2, i)

所以... man = man + (should_be_one ? 1 : 0) * x * (1 << i)

快乐编码