2.8. ПОЛИНОМАЛЬНАЯ ФОРМА




В системах счистления в остаточных классах (ССОК) двоичные функции 
можно представлять в полиномальном виде.
	Умножение	-   AND
	Сложение	-   XOR	(т.е. сложение но в пределах 1 бита):

F = A0 (+) A1*X1 (+) A2*X2 (+) A3*X1*X2

	----------------------------------------------------------------------
		   X1X2            		   F
	----------------------------------------------------------------------
	00	01	10	11	A0	A1	A2	A3     Имя
	----------------------------------------------------------------------
	0	0	0	0	0	0	0	0      0
	0	0	0	1	0	0	0	1      AND
	0	0	1	0	0	1	0	1      x1<-x2
	0	0	1	1	0	1	0	0      x1
	0	1	0	0	0	0	1	1      x2<-x1
	0	1	0	1	0	0	1	0      x2
	0	1	1	0	0	1	1	0      XOR
	0	1	1	1	0	1	1	1      OR
	1	0	0	0	1	1	1	1      NOR		
	1	0	0	1	1	1	1	0      EQV
	1	0	1	0       1       0	1	1      x1->x2
	1	0	1	1       1       1	0	1      x2->x1
	1	1	0	0       1       1	0	0      x1#	
	1	1	0	1       1       0       1       0      x2#
	1	1	1	0       1       0	0	1      NAND
	1	1	1	1       1       0	0	0      1
	----------------------------------------------------------------------

	--------------------------------------------
	0		=  0
	AND(x1,x2)      =                      x1*x2
	x1<-x2		=        x1 (+)        x1*x2
	x1		=        x1
	x2<-x1		=               x2 (+) x1*x2
	x2		=               x2
	XOR		=        x1 (+) x2
	OR		=        x1 (+) x2 (+) x1*x2
	NOR		=  1 (+) x1 (+) x2 (+) x1*x2
	EQV		=  1 (+) x1 (+) x2
	x1->x2		=  1 (+)        x2 (+) x1*x2
	x2->x1	        =  1 (+) x1 (+)        x1*x2
	x1#		=  1 (+) x1
	x2#		=  1 (+)        x2
	NAND		=  1 (+)               x1*x2
	1		=  1
	--------------------------------------------
 

Пример:
	X1  X2 | F |  A0    A1*X1   A2*X2  A3*X1*X2  
	-------+---+----------------------------------
	0   0  | 1 |  1      0       0        0                       
	0   1  | 1 |  1	     0       0        0
	1   0  | 0 |  1      1       0        0
        1   1  | 0 |  1      1       0        0


Как вычислять:

	X1 X2  | F |  A0    A1*X1   A2*X2  A3*X1*X2   |  A0  A1  A2  A3
	-------+---+----------------------------------+-----------------
	0  0   | 1 |  ?      0       0      0	      |  ?   ?   ?   ?
	0  0   | 1 |  1      0       0      0         |  ?   ?   ?   ?
	0  0   | 1 |  1      0       0      0         |  1   ?   ?   ?
	-------+---+----------------------------------+-----------------
	0  1   | 0 |  1      0       ?      0         |  1   ?   ?   ?
	0  1   | 0 |  1      0       1      0         |  1   ?   ?   ?
	0  1   | 0 |  1      0       1      0         |  1   ?   1   ?		
	-------+---+----------------------------------+-----------------
	1  0   | 1 |  1      ?       0      0         |  1   ?   1   ?
	1  0   | 1 |  1      0       0      0         |  1   ?   1   ?
	1  0   | 1 |  1      0       0      0         |  1   0   1   ?
	-------+---+----------------------------------+-----------------
	1  1   | 1 |  1      0       1      ?         |  1   0   1   ?
	1  1   | 1 |  1      0       1      1         |  1   0   1   ?
	1  1   | 1 |  1      0       1	    1         |  1   0   1   1




Собственно логическую функцию одной переменной можно представить в виде полинома 1 степени: F(x) = a0 + a1 * x (пишем + подразумеваем (+) ------------------------------------ a1a0 x 00 01 10 11 ------------------------------------ 0 0 1 0 1 1 0 1 1 0 ------------------------------------ F 0 1 x x# ------------------------------------ Функции с большим числом переменных получаются перемножением полиномов функций с одной переменной. Например для двух переменных: F(x1,x2) = (a0 + a1*x1) * (b0 + b1*x2) = = a0*b0 + a1*b0*x1 + a0*b1*x2 + a1*b1*x1*x2 = ----- ----- ----- ----- = A0 + A1 * x1 + A2 * x2 + A3 * x1 * x2


Index Prev Next