日期:2014-05-16  浏览次数:20477 次

新手上路-二进制加减乘,交并补 算法求助 |在线等解|
小弟我刚接触JS 还没满月. 无奈的伸手党 
手头一题 感觉没什么思路呀 还请各位巨巨帮忙拉一把.
题目要求做一个二进制的ALU. 输入框A和B 分别要求输入8bits 的二进制数字, 然后要做一个下拉菜单,其中包括6个功能
分别是 加,减,乘,求交集,并集,和complement (就是1变0 0变1..这个只需要在输入框A中输入8bits的二进制就好了). 

点 GO  输出答案(要求也是8bits的二进制数).

function addResult(form)
{
var a=parseInt(form.inputboxA.value,2);
var b=parseInt(form.inputboxB.value,2);
var result=a + b;
        document.write (result.toString(2));
}
这个加法算法中 有个问题就是 当输入框A: 0000 0001 输入框B: 0000 0001 输出的答案是10, 虽然在二进制中是2,但是
怎么能使 输出的 答案是 0000 00010? 是string不能算 不是string好像系统就会自动屏蔽掉前面的0 啊
还是有什么更好的思路呢?

------解决方案--------------------
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Insert title here</title>

    </head>
    <body>

        <input id="num1" type="text" />
        <select id="operator">
            <option value="0">please select</option>
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="&">&</option>
            <option value="
------解决方案--------------------
">
------解决方案--------------------
</option>
            <option value="^">^</option>      
        </select>

        <input id="num2" type="text" />

        <button id="go">go</button>
        <div>result<span id="result"></span></div>
        <script>
            function $(id) {
                return document.getElementById(id);
            }
            function check(v) {
                var r = /[01]{8}/;
              &nb