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, -}