3項論理演算

 投稿者:しばっち  投稿日:2011年11月13日(日)20時11分39秒
  3項論理演算

FOR C=0 TO 1
   FOR B=0 TO 1
      FOR A=0 TO 1
         PRINT A;"-";B;"-";C,
         PRINT BIT1(A,B,C);
         PRINT BIT2(A,B,C);
         PRINT BIT3(A,B,C);
         PRINT BIT12(A,B,C);
         PRINT BIT23(A,B,C);
         PRINT BIT123(A,B,C)
      NEXT A
   NEXT B
NEXT C
END

EXTERNAL  FUNCTION BIT0 (A, B, C)
!'0-0-0 1
!'0-0-1 0
!'0-1-0 0
!'0-1-1 0
!'1-0-0 0
!'1-0-1 0
!'1-1-0 0
!'1-1-1 0
LET  BIT0 =BITNOT(BIT123(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT1 (A, B, C)
!'0-0-0 0
!'0-0-1 1
!'0-1-0 1
!'0-1-1 0
!'1-0-0 1
!'1-0-1 0
!'1-1-0 0
!'1-1-1 0
LET  BIT1 = BITXOR(BITOR(BITOR(BITXOR(A,B),BITXOR(B,C)),BITXOR(C,A)),BIT2(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT2 (A, B, C)
!'0-0-0 0
!'0-0-1 0
!'0-1-0 0
!'0-1-1 1
!'1-0-0 0
!'1-0-1 1
!'1-1-0 1
!'1-1-1 0
LET  BIT2 = BITXOR(BIT23(A, B, C),BIT3(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT3 (A, B, C)
!'0-0-0 0
!'0-0-1 0
!'0-1-0 0
!'0-1-1 0
!'1-0-0 0
!'1-0-1 0
!'1-1-0 0
!'1-1-1 1
LET  BIT3 = BITAND(BITAND(A,B),C)
END FUNCTION

EXTERNAL  FUNCTION BIT01 (A, B, C)
!'0-0-0 1
!'0-0-1 1
!'0-1-0 1
!'0-1-1 0
!'1-0-0 1
!'1-0-1 0
!'1-1-0 0
!'1-1-1 0
LET  BIT01 =BITNOT (BIT23(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT02 (A, B, C)
!'0-0-0 1
!'0-0-1 0
!'0-1-0 0
!'0-1-1 1
!'1-0-0 0
!'1-0-1 1
!'1-1-0 1
!'1-1-1 0
LET  BIT02 =BITNOT (BIT13(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT03 (A, B, C)
!'0-0-0 1
!'0-0-1 0
!'0-1-0 0
!'0-1-1 0
!'1-0-0 0
!'1-0-1 0
!'1-1-0 0
!'1-1-1 1
LET  BIT03 =BITNOT (BIT12(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT12 (A, B, C)
!'0-0-0 0
!'0-0-1 1
!'0-1-0 1
!'0-1-1 1
!'1-0-0 1
!'1-0-1 1
!'1-1-0 1
!'1-1-1 0
LET  BIT12 = BITOR(BIT1(A, B, C),BIT2(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT13 (A, B, C)
!'0-0-0 0
!'0-0-1 1
!'0-1-0 1
!'0-1-1 0
!'1-0-0 1
!'1-0-1 0
!'1-1-0 0
!'1-1-1 1
LET  BIT13 = BITOR(BIT1(A, B, C),BIT3(A, B, C))
END FUNCTION

EXTERNAL  FUNCTION BIT23 (A, B, C)
!'0-0-0 0
!'0-0-1 0
!'0-1-0 0
!'0-1-1 1
!'1-0-0 0
!'1-0-1 1
!'1-1-0 1
!'1-1-1 1
LET  BIT23 = BITOR(BITOR(BITAND(A,B),BITAND(B,C)),BITAND(C,A))
END FUNCTION

EXTERNAL  FUNCTION BIT123 (A, B, C)
!'0-0-0 0
!'0-0-1 1
!'0-1-0 1
!'0-1-1 1
!'1-0-0 1
!'1-0-1 1
!'1-1-0 1
!'1-1-1 1
LET  BIT123 = BITOR(BITOR(A,B),C)
END FUNCTION

EXTERNAL  FUNCTION BIT023 (A, B, C)
!'0-0-0 1
!'0-0-1 0
!'0-1-0 0
!'0-1-1 1
!'1-0-0 0
!'1-0-1 1
!'1-1-0 1
!'1-1-1 1
LET  BIT023 =BITNOT(BIT1(A,B,C))
END FUNCTION

EXTERNAL  FUNCTION BIT013 (A, B, C)
!'0-0-0 1
!'0-0-1 1
!'0-1-0 1
!'0-1-1 0
!'1-0-0 1
!'1-0-1 0
!'1-1-0 0
!'1-1-1 1
LET  BIT013 =BITNOT(BIT2(A,B,C))
END FUNCTION

EXTERNAL  FUNCTION BIT012 (A, B, C)
!'0-0-0 1
!'0-0-1 1
!'0-1-0 1
!'0-1-1 1
!'1-0-0 1
!'1-0-1 1
!'1-1-0 1
!'1-1-1 0
LET  BIT012 =BITNOT(BIT3(A,B,C))
END FUNCTION
 

戻る