Here are the 16 binary logical operators, using ! for not, | for or,
and & for and:

    1 2   3   4    5    6     7     8     9      10     11      12

                             !p|q  !q|p  NAND    NOR    p&!q   !p&q
    p  q  !p  !q | p&q  p|q  p->q  q->p !(p&q) !(p|q) !(p->q) !(q->p)
    -------------+---------------------------------------------------
    T  T   F   F |  T    T    T     T      F      F      F       F
    T  F   F   T |  F    T    F     T      T      F      T       F
    F  T   T   F |  F    T    T     F      T      F      F       T
    F  F   T   T |  F    F    T     T      T      T      F       F

                         13          14        15   16

                   (p&q)|(!p&!q)
                        !XOR         XOR      p|!p  p&!p
    p  q  !p  !q |      p<->q     !(p<->q)  | True  False
    -------------+---------------------------------------
    T  T   F   F |        T           F     |   T     F
    T  F   F   T |        F           T     |   T     F
    F  T   T   F |        F           T     |   T     F
    F  F   T   T |        T           F     |   T     F