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();
        }
    }
}

results matching ""

    No results matching ""