K+1 pozycji

Dla całkowitej z lewej strony, ułamka z prawej strony ZM 0,0 ; ZU1 1,1 ; ZU2 1,0;

Dodawanie i odejmowanie w ZM.

Jeżeli ω=1 to Zn-1=A n-1 i wynik w ZU2.

Dodawanie i odejmowanie w ZU1. Wykonuje się z bitami znakowymi. Jeżeli ω=1 to się dodaje lub odejmuje 1.

Dodawanie i odejmowanie w ZU2. Wykonuje się z bitami znakowymi Jeżeli ω=1 to się ignoruje.

Metoda bezpośrednia w ZM. Mnożymy tak jak normalnie. Bit znakowy suma modulo 2. 00-0,01-1,10-1,11-0.

I wariant Booth'a dotyczy mnożenia w kodzie ZU2.

Dodajemy 0 z prawej strony do mnożnika. Badamy kolejne ostatnie

pary bitów mnożnika.

1).Jeżeli badana para jest kombinacją 1 0 to do iloczynu częściowego

(który na początku jest wyzerowany) odejmujemy mnożną i przesuwamy wynik o jedno miejsce w prawo.

2).Jeżeli badana para jest kombinacją 0 1 to do iloczynu częściowego dodajemy mnożną i przesuwamy wynik o jedno miejsce w prawo.

3).Jeżeli badana para jest parą o jednakowych liczbach 00 11 to nic nie robimy a później przesuwamy w prawo o jedno miejsce.

4).Jeżeli w skład pary wchodzi bit znakowy to nie wykonujemy przesunięcia.

II wariant Booth'a dotyczy mnożenia w kodzie ZU2.

1.Przesń mnożną o jedną pozycję w prawo (a/2).

2.Zbadaj ostatni punkt mnożnika :

Jeżeli jest równy 1 to dodaj mnożną do iloczynu częściowego,

0 to nie rób nic (to znaczy dodaj 0).

3.Przesuń mnożnik o jedną pozycję w prawo.

4.Przesuń iloczyn częściowy o jedno miejsce w prawo.

5.Zbadaj bit znakowy mnożnika :

Jeżeli jest równy 1 to odejmij mnożną do iloczynu częściowego,

0 to nie rób nic (to znaczy dodaj 0).

6.Przesuń iloczyn częściowy o jedno miejsce w lewo

X

Y

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

F13

F14

F15

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Fo=0 F.zerowa

F1=x*y x i y

F2=x*y′=x/y zakaz x lecz nie y

F3=x f. jest =x

F4=x'y=y/x zakazy lecz nie x

F5=y f. jest =y

F6=x'y+xy'=x⊕y albo x lub y,lecz nie oba suma modulo 2

F7=x+y lub x lub y

F8=(x+y)'=x↓y NOR

F9=x'y'+xy=x⊗y równoważność

F10=y' negacja nie y

F11=x+y'=x⊂y implikacja jeśli y to x

F12=x' negacja nie x

F13=x'+y=x⊃y implikacja jeśli x to y

F14=(x*y)'=x↑y NAND

F15=1 identyczność

Ogranicznik

Priorytet stosowy

Priorytet porównawczy

(, if

0

Nie dotyczy

Then

0

1

Else

1

2

),;

Nie dotyczy

1

3

3

4

4

5

5

6

6

7

7

>,≥,<,≤,=,≠

8

8

+,−

9

9

∗,/,÷,NEG

10

10

11

11

Translacja ONP na język symboliczny:

1).Ustalamy i = 0 i k = 0.

2).Odczytujemy k-ty element ONP prostego wyrażenia arytmetycznego εk.

3).Jeżeli εk jest nazwą zmiennej lub stałą to generujemy instrukcje przypisania Ji:= εk. Następuje wówczas zwiększenie i:=i+1.

4).Jeśli εk jest symbolem operacji dwuargumentowej wówczas generuje się Ji-2:= Ji-2 OP Ji-1 i:=i-1.

5).Jeśli εk jest NEG(lub sin,cos) generuje się Ji-1:= OP Ji-1.

Maszyna Turinga i DAS NAS

Mt = < Q, , F, , qo, δ>

Q- jest skończonym zbiorem stanów np.{ q0 - q14 },

Σ - jest skończonym alfabetem symboli wejściowych = { a,b,c},

= { } ,

F Q - jest zbiorem stanów końcowych (stan akceptacji (A) lub nieakceptacji (N)),

qo - stan początkowy,

δ : Q x F Q x F x { L, P, -}