Not16 Gate :
(輸入是 16 位的 Not Gate)
用我們上面的 Not Gate,
只是把每一位取反,沒有循環,把16個Not打出來就行了。
| in | out |
| 0000000000000000 | 1111111111111111 |
| 1111111111111111 | 0000000000000000 |
| 1010101010101010 | 0101010101010101 |
| 0011110011000011 | 1100001100111100 |
| 0001001000110100 | 1110110111001011 |
/*
* 16-bit Not:
* for i=0..15: out[i] = not in[i]
*/
CHIP Not16
{
IN in[16];
OUT out[16];
PARTS:
Not(in=in[0], out=out[0]);
Not(in=in[1], out=out[1]);
Not(in=in[2], out=out[2]);
Not(in=in[3], out=out[3]);
Not(in=in[4], out=out[4]);
Not(in=in[5], out=out[5]);
Not(in=in[6], out=out[6]);
Not(in=in[7], out=out[7]);
Not(in=in[8], out=out[8]);
Not(in=in[9], out=out[9]);
Not(in=in[10], out=out[10]);
Not(in=in[11], out=out[11]);
Not(in=in[12], out=out[12]);
Not(in=in[13], out=out[13]);
Not(in=in[14], out=out[14]);
Not(in=in[15], out=out[15]);
}
嘗試使用Java打真值表 [ 無聊打打(σ`・∀・)σ\ ]
import java.util.*;
public class Not16
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
String in[][] = new String[5][16];
String out[][] = new String[5][16];
System.out.println("in");
for(int i=0; i<5; i++)
{
for(int j=0; j<16; j++)
{
in[i][j] = scn.next();
if(in[i][j].equals("0"))
{
out[i][j] = "1";
}else if(in[i][j].equals("1")){
out[i][j] = "0";
}
}
}
System.out.println("out");
for(int i=0; i<5; i++)
{
for(int j=0; j<16; j++)
{
System.out.print(out[i][j]+" ");
}
System.out.println();
}
}
}