在家庭作业中创建一个从二进制到十进制的简单表格



我正试图使用逻辑函数在javascript中创建一个简单的二进制到十进制表。输出应该是这样的:

二进制|十进制
CCCC
3 2 1 0|0 1 2 3 4 5 6 7 8 9
0 0 0 0 0|1 0 0 0 1 0 0 0 0 0 0
0 1 1 1 |0 0 0 0 0 1 0 0
1 0 0 0 |0 0 00
1 0 0 1|0 0 0 0 0 1

这就是我到目前为止所掌握的,不确定为什么它不起作用——我想逻辑函数有问题,任何帮助都将不胜感激:)

<script language="JavaScript">
var C3 = new Array(0,0,0,0,0,0,0,0,1,1);
var C2 = new Array(0,0,0,0,1,1,1,1,0,0);
var C1 = new Array(0,0,1,1,0,0,1,1,0,0);
var C0 = new Array(0,1,0,1,0,1,0,1,0,1);
var D0,D1,D2,D3,D4,D5,D6,D7,D8,D9;
// printing out the header of the table 
document.write(" C3 C2 C1 C0| 0 1 2 3 4 5 6 7 8 9 <BR>");

for (var i = 0; i <= 9; i++ ) 
{
// calculating values according to logical equations
D0 = AND(NOT(C3[i]),NOT(C2[i]),NOT(C1[i]),NOT(C0[i]));
D1 = AND(NOT(C3[i]),NOT(C2[i]),NOT(C1[i]),C0[i]);
D2 = AND(NOT(C3[i]),NOT(C2[i]),C1[i],NOT(C0[i]));
D3 = AND(NOT(C3[i]),NOT(C2[i]),C1[i],C0[i]);
D4 = AND(NOT(C3[i]),C2[i],NOT(C1[i]),NOT(C0[i]));
D5 = AND((NOT(C3[i]),C2[i],NOT(C1[i]),C0[i]); 
D6 = AND(NOT(C3[i]),C2[i],C1[i],NOT(C0[i]));
D7 = AND(NOT(C3[i]),C2[i],C1[i],C0[i]);
D8 = AND(C3[i],NOT(C2[i]),NOT(C1[i]),NOT(C0[i]));
D9 = AND(C3[i],NOT(C2[i]),NOT(C1[i]),C0[i]);
// printing the outputs
document.write(C3[i] + " " + C2[i] + " " C1[i] + " " + C0[i] +  " | " + D0 + " " +
D1   + " " + D2 + " " + D3 + " " + D4 + " " + D5 + " " + D6 + " " + D7 + " " + D8 
+ " + D9 + "<BR>");
}
// defining function NOT
function NOT(inp) {
var out = 1 & (!inp);
return out;
}
//  defining function AND
function AND(in1,in2,in3,in4)
{
var out = in1 && in2 && in3 && in4;
return out
}
</script>

在运行代码之前,您将定义ANDNOT函数。在运行for循环之前,先剪切并粘贴它们,看看这是否有效。

最新更新