X - Inf

Transkrypt

X - Inf
SYSTEMY LICZENIA
Liczby, cyfry, systemy liczbowe
Liczba – abstrakcyjny wynik oblicze , warto , opis ilo ciowy obiektu
Cyfra – znak (symbol) u ywany do zapisu (reprezentacji) liczb,
Systemy pozycyjno-wagowe (positional, place-value)
• wagi uporz dkowane i przypisane pozycjom → niezb dny symbol „zero”,
• z pozycj skojarzony mno nik oznaczony cyfr o warto ci całkowitej,
• reprezentacja liczby – wektor cyfr (ang. digit).
Systemy pozycyjne (radix-based) i pokrewne (z ustalon podstaw )
– waga pozycji = pot ga podstawy (radix)
• stałobazowe (fixed-radix)
– naturalne – podstawa naturalna, cyfry tylko dodatnie
– z cyfr znakowan (signed digit, SD) – cyfry ujemne
– negabazowe (negative radix) – ujemna podstawa całkowita (baza)
• uzupełnieniowe (radix-complement) – rozszerzenie systemów naturalnych
wg reguły: reprezentacja –X to wynik działania 0 – X
System resztowy (residue number system, RNS) – liczba=: wektor reszt
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–I
SYSTEMY LICZENIA
Reprezentacje systematyczne liczb
Reprezentacje stałoprzecinkowe
– stałobazowe (i uzupełnieniowe), ustalone poło enie przecinka pozycyjnego
(współczynnika skali m) przy danej podstawie β – izomorficzne z całkowitymi:
• liczba = liczba całkowita × β –m
np. (m = 3, β =8). 7145,1238=7145123×8–3, 0031,4568=31456×8–3,
Reprezentacje zmiennoprzecinkowe – zło enie pól
• znak liczby (sign),
• znacznik (significand) (cz
ułamkowa (fraction), mantysa (mantissa)),
• wykładnik (exponent) pot gi bazy (radix) (podstawy) – podstawa stała
+3,27145123 E5 ( = 3,2714512310×105), −31415,910×10–4, 1,010012×21011
Reprezentacje resztowe (residue number system, RNS)
• reprezentacja liczby – wektor reszt wzgl dem stałych bazy RNS
• tylko liczby całkowite
56 {2 , 3, 5, 7} = {56 mod 2, 56 mod 3, 56 mod 5, 56 mod 7}={0, 2, 1, 0}
Reprezentacje logarytmiczne – znak & logarytm warto ci bezwzgl dnej
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–II
SYSTEMY LICZENIA
Systemy stałobazowe (pozycyjne)
System stałobazowy 〈 β,D〉 (fixed-radix), popularnie zwany pozycyjnym:
• ustalona podstawa (baza) – zwykle liczba całkowita taka, e |β | ≥ 2
• waga pozycji jest całkowit pot g podstawy wi = β i
• ustalony zbiór warto ci cyfr, zwykle ten sam dla wszystkich pozycji; musi
zawiera nie mniej ni β warto ci w tym 0:
D = {0, d1 , d 2 ,..., d β −1 ,...}, przy tym d i mod β = i dla i < β.
Warto ci X liczby o reprezentacji X = {xk −1 ,..., x1 , x0 ,..., x−m }β , xi ∈ Di , jest:
X = xk −1β
k −1
−1
+ ... + x1β + x0 + x−1β ... + x− m β
−m
=
i = k −1
∑ xi β i
i =− m
• dokładno
bezwzgl dna = waga najmniej znacz cej pozycji ulp = β
−m
Skalowanie: XI – liczba całkowita, m – rozmiar przesuni cia przecinka w prawo
X =
i = k −1
∑ xi β
i
=β
−m
i = k + m −1
i =− m
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
∑ x j −m β j = β −m X I
j =0
SL–III
SYSTEMY LICZENIA
Jednolita reprezentacja liczb ujemnych i dodatnich
standardowy zbiór cyfr D = {0,1,..., β − 1}, β∈ (β ≥ 2)
znak-moduł – osobny kod (symbol) znaku, moduł naturalny
uzupełnieniowa (radix-complement) – rozszerzenie systemu naturalnego
• liczb „– X” reprezentuje wynik działania pozycyjnego 0 – X
obci ona (biased N, excess N) – naturalna reprezentacja liczby pomniejszonej
o stał naturaln N, najcz ciej repr. spolaryzowana (N ≅ ½ zakresu).
z cyfr znakowan (signed digit, SD)
• dozwolone s ujemne warto ci cyfr, np. D={…, 2, 1, 0, 1, …}||D | | ≥ β },
nieredundantny: Dβ ={di: di = i ∨ i– β , d0=0}, np. D10={0,1,8,3,4,5,4,7,2,1}
inne systemy:
negabazowy – ujemna baza β ≤ − 2, standardowy zbiór cyfr: D = {0,1,..., β − 1}
• (du a asymetria), specyficzna arytmetyka – podwójne przeniesienia
dopełnieniowy – liczby dodatnie: naturalne, liczby ujemne: dopełnienia cyfr
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–IV
SYSTEMY LICZENIA
System z ujemn podstaw (negabazowy)*
wi = ( − β ) i , β ≥2 i całkowite
X = {xk −1 , xk − 2 ,..., x0 , x−1 ,..., x− m }− β =
k −1
∑ xi (− β ) i ,
i=−m
xi ∈ {0,1,...,β − 1}
• znaczna asymetria (dodatnia je li k nieparzyste, ujemna gdy k parzyste):
rozszerzenie lewostronne reprezentacji n-pozycyjnej o 1 pozycj powoduje
doł czenie do zbioru liczb (β –1)β n liczb tego samego znaku
• znak liczby okre la indeks najbardziej znacz cej pozycji niezerowej k
• zmiana znaku wykonalna tylko dla około 2/(β+1) liczb
• skomplikowany algorytm i układ
o aby unikn odejmowania przeniesienia
xi ± yi ± ci = ±(− β )ci +1 + si
wytwarzane s dwa przeniesienia: ci ,i +1 = ( β − 1)ci +1 oraz ci ,i + 2 = ci +1
ci ,i +1 = β ci +1 , co daje ci ,i +1 − βci ,i + 2 = ( β − 1)ci +1 − β ci +1 = −ci +1
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–V
SYSTEMY LICZENIA
Reprezentacja znak-moduł
pseudonaturalna – +32,317, –214,554, ...
X = {s}{xk −1 , xk − 2 ,..., x− m }β = (−1)
k −1
s
∑ xi β i ,
xi ∈ {0,1,...,β − 1}, s ∈ {0,1}
i=−m
Reprezentacja dopełnieniowa
dopełnienie cyfry:
d = ( β − 1) − d
dopełnienie liczby:
xk −1 xk − 2 ...x2 x1 x0 = xk −1 xk − 2 ...x2 x1 x0
Np. reprezentacj – 3564210 jest 35642 = 64357 (bo 3564210+6435710 = 9999910)
X = {xk , xk −1 ,..., x− m }β = −(β − β
k
−m s
) +
k −1
i
x
β
∑ i , xi ∈ {0,1,...,β − 1}, s = ϕ ( xk )
i=−m
Cechy wspólne reprezentacji znak-moduł i dopełnieniowej
• dwie reprezentacje zera : „+ 0” i „− 0”
• zakres liczb symetryczny
• w dodawaniu i odejmowaniu – faktyczne działanie zale y od znaków
o komplikacja algorytmu (układu) i dłu szy czas wykonania
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–VI
SYSTEMY LICZENIA
Reprezentacja uzupełnieniowa
Pozycyjne dodawanie wykonuje si tak:
2735
+7329
= 1 0064
– 7329
= 0 2735
…000 2735
+…000 7329
= …001 0064
– …000 7329
= …000 2735
99…99
+1
= 1 00…00
–1
= 0 99…99
…000 99…99
+…000 00…01
= …001 00…00
– …000 00…01
= …000 99…99
W ten sam sposób wykonamy odejmowanie – symbol 1 oznacza „minus jeden”:
0064
– 7329
= 1 2735
+7329
0 0064
= …000 0064
– …000 7329
= …999 2735
+…000 7329
…000 2735
… (0)0064
… – (0)7329
… = (9)2735
… + (0)7329
… = (0)2735
00..00
–1
=1 99..99
+1
0 99..99
= (0)00…00
– (0)00…01
= (9)99…99
+(0)00…01
(0)00…00
Wnioski:
• reprezentacje liczb dodatnich s takie jak w zapisie naturalnym
• reprezentacj liczby przeciwnej jest wynik odejmowania od zera
• reguły arytmetyki s takie jak w naturalnym systemie pozycyjnym
• zapis liczby mo na rozszerzy lewostronnie na dowoln liczb pozycji
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–VII
SYSTEMY LICZENIA
Rozszerzenie niesko czone – ekstrapolacja zapisu
Rozszerzenie niesko czone w uzupełnieniowym systemie dziesi tnym:
0 – 214610 =0 – (0)2146U10 = 17854U10 = (9)7854U10 = 7854U10
Rozszerzenie niesko czone w uzupełnieniowym systemie ósemkowym:
0 – 21468 =0 – (0)2146U8 = 15632U8 = (7)5632U8 = 5632U8
A zatem (9)U10 = 1, (7)U8 = 1, podobnie (1)U2 = 1 i (F)U16 = 1.
Podstawa nieparzysta – w zapisie liczby konieczne rozszerzenie
β
k−
= ϕ x k − β + ∑ xi β i
i=
x x
k
xk − xk −
Podstawa parzysta – wiod ca cyfra okre la znak, mo na pomija rozszerzenie,
st d wzór na obliczenie warto ci liczby w systemie uzupełnieniowym
gdzie ϕ(xk–1) – warto rozszerzenia dla cyfry wiod cej xk–1.
• symetria zakresu (wykonalno 0 – X).
• łatwe skalowanie – przez przesuni cie
• rozszerzenie lewostronne reprezentacji ułatwia weryfikacj wyniku
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–VIII
SYSTEMY LICZENIA
Dziesi tna reprezentacja uzupełnieniowa
rozszerzenie
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
0
0
...
0
0
0
0
...
0
0
0
9
9
...
9
9
9
9
9
...
9
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
0
0
...
0
0
0
0
...
0
0
0
9
9
...
9
9
9
9
9
...
9
0
0
...
0
0
0
0
...
0
0
0
9
9
...
9
9
9
9
9
...
9
0
0
...
0
0
0
0
...
0
0
0
9
9
...
9
9
9
9
9
...
9
0
0
...
0
0
0
0
...
0
0
0
9
9
...
9
9
9
9
9
...
9
5
4
...
0
0
0
0
...
0
0
0
9
9
...
9
9
9
9
9
...
5
0
9
...
5
5
4
4
...
0
0
0
9
9
...
5
5
5
4
4
...
0
0
9
...
0
0
9
9
...
0
0
0
9
9
...
0
0
0
9
9
...
0
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
0
9
...
0
0
9
9
...
0
0
0
9
9
...
0
0
0
9
9
...
0
0
9
...
0
0
9
9
...
0
0
0
9
9
...
0
0
0
9
9
...
0
0
9
...
0
0
9
9
...
0
0
0
9
9
...
0
0
0
9
9
...
0
0
9
...
0
0
9
9
...
0
0
0
9
9
...
0
0
0
9
9
...
0
0
9
...
1
0
9
0
...
2
1
0
9
8
...
2
1
0
9
8
...
0
+5⋅107–1
...
+5⋅106+1
+5⋅106
+5⋅106–1
+5⋅106–2
...
+2
+1
0
–1
–2
...
–5⋅106+2
–5⋅106+1
–5⋅106
–5⋅106–1
–5⋅106–2
...
–5⋅107
SL–IX
SYSTEMY LICZENIA
Dwójkowa reprezentacja uzupełnieniowa
...
...
0
0
...
...
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
+28–1
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
0
0
0
...
0
0
1
1
...
1
1
1
1
...
...
...
...
...
...
...
...
...
...
...
...
...
0
0
0
...
0
0
1
1
...
1
1
1
1
0
0
0
...
0
0
1
1
...
1
1
1
1
0
0
0
...
0
0
1
1
...
1
1
1
1
0
0
0
...
0
0
1
1
...
1
1
1
1
0
0
0
...
0
0
1
1
...
1
1
1
1
1
1
0
...
0
0
1
1
...
1
1
0
0
0
0
1
...
0
0
1
1
...
0
0
1
1
0
0
1
...
0
0
1
1
...
0
0
1
1
0
0
1
...
0
0
1
1
...
0
0
1
1
0
0
1
...
0
0
1
1
...
0
0
1
1
0
0
1
...
0
0
1
1
...
0
0
1
1
0
0
1
...
0
0
1
1
...
0
0
1
1
1
0
1
...
1
0
1
0
...
1
0
1
0
+27+1
+27
+27–1
...
+1
0
–1
–2
...
–27+1
–27
–27–1
–27–2
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
1
1
...
...
1
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
− xm −1 2
m −1
m−2
+ ∑ xi 2 = − xm −1 2
i
i =0
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
n + m −1
+
n+ m−2
–28
m−2
∑ xm −1 2 + ∑ xi 2i
i = m −1
i
i =0
SL–X
SYSTEMY LICZENIA
System ze znakowan cyfr (SD)
• zbiór cyfr D = {a,...,1,0,1,..., a − 1, a},
| X SD | =
n −1
∑ xi β i ,
a ≤ β − 1 ≤ 2a ,
xi ∈ {a,...,1,0,1,..., a − 1, a},
d = −d
a ≤ β − 1 ≤ 2a
i=−m
− {xk −1 , xk − 2 ,..., x− m }SD = {− xk −1 ,− xk − 2 ,...,− x− m }SD
XSD = X + − X − – wykonalne w systemie SD i w systemie uzupełnieniowym:
X + = {0, xk+−1 ,..., x−+m +1 , x−+m }β ,
 0, gdy xi < 0,
xi+ = 
 xi , gdy xi ≥ 0,
 0, gdy xi ≥ 0,
X = {0, x ,..., x
,x } , x = 
− xi , gdy xi < 0.
reprezentacja minimalna Z ={z k −1 ,.., z − m +1 , z − m } – zawieraj ca najwi cej zer
∃ [ ∀ ( z j = 1) ∨ ∀ ( z j = 1)] ∧ [ ∀ ( zi zi −1 = 0)]
−
s ≤ k −1 s < j ≤ k −1
−
k −1
−
− m +1
−
−m β
s < j ≤ k −1
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
−
i
− m +1≤ i ≤ s −1
SL–XI
SYSTEMY LICZENIA
Reprezentacja obci ona
k −1
X =|{xk −1 ,..., x1 , x0 }+ N | = ∑ xi β i − N , 0 < N < β k
i =0
xi ∈ {0,1,..., β − 1}
+ unikatowa reprezentacja zera
+ zgodno uporz dkowania liczb i ich reprezentacji (kodów)
– konieczno korekcji wyników działa arytmetycznych
– problematyczne u ycie w mno eniu lub dzieleniu
Reprezentacja spolaryzowana
– asymetria ujemna, gdy N = ½β k , asymetria dodatnia, gdy N = ½β k – 1.
W systemie dwójkowym otrzymujemy:
Gdy N = 2 , to X + 2
k −1
k–1
= ∑ xi 2 − 2
i
k −1
Gdy N = 2 –1, to X + 2
k −1
= −(1 − xk −1 )2
i =0
k −1
k–1
= ∑ xi 2 −(2
i
k −1
−1
k −1
k −2
+ ∑ xi 2 i ,
i =0
k −1
i =0
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
k −2


k −1
− 1) = − − xk −1 2 + ∑ (1 − xi )2 i 


i =0
SL–XII
SYSTEMY LICZENIA
Dwójkowa reprezentacja spolaryzowana i uzupełnieniowa
łatwa konwersja reprezentacji spolaryzowanej na kod U2 i odwrotnie
{xk −1 , xk −2 ,..., x1 , x0 }U2 = {(1 − xk −1 ), xm−2 ,..., x1 , x0 }+ 2
= {xk −1 , xm−2 ,..., x1 , x0 }+ 2
k −1
k −1
− {xk −1 , xk −2 ,..., x1 , x0 }U2 = {xk −1 , (1 − xk −2 ),..., (1 − x1 ), (1 − x0 )}+ 2
= {xk −1 , xk −2 ,..., x1 , x0 }+ 2
N = 2k–1
2k−1−1
2k−1−2
...
0
−1
...
k−1
−2 +1
−2k−1
1
1
...
1
0
...
0
0
1
1
...
0
1
...
0
0
1
1
...
0
1
...
0
0
...
...
...
...
...
...
...
...
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
1
1
...
0
1
...
0
0
k −1
1
1
...
0
1
...
0
0
k −1
-1
-1
1
0
...
0
1
...
1
0
N = 2k–1−1
2k−1
2k−1−1
...
1
0
...
−2k−1+2
−2k−1+1
SL–XIII
SYSTEMY LICZENIA
Cechy reprezentacji liczb całkowitych (stałoprzecinkowych)
kodowanie umowne (intuicyjne):
• znak-moduł – „znak” | warto
bezwzgl dna liczby
o skomplikowana arytmetyka (dodawanie, skalowanie, mno enie, …)
• dopełnianie – liczba ujemna = dopełnienie cyfr liczby przeciwnej dodatniej
o skomplikowana arytmetyka (dodawanie, skalowanie, mno enie, …)
kodowanie arytmetyczne (nast pna: +1, poprzednia: –1):
•
uzupełnianie – liczba ujemna = 0 – liczba przeciwna (dodatnia)
o łatwa arytmetyka (pozycyjna), porównanie i skalowanie
•
polaryzacja – warto
= warto
naturalna – stała (tylko liczby całkowite)
o sztywny zakres, trudne mno enie, ograniczone dzielenie
o łatwe porównanie, dodawanie i odejmowanie
o
przydatno
w zapisie zmiennoprzecinkowym
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
SL–XIV
DZIAŁANIA
Dopełnienie liczby i liczba przeciwna*
Dopełnienie liczby X = {xk −1 ,..., x1 , x0 ,..., x− m }β (digit-complement)
X = {xk −1 ,..., x1 , x0 ,..., x− m : xi = ( β − 1) − xi }β
X + X = {β − 1,..., β − 1}β = Q
X=X i Q=0
Je li jest wykonalne działanie X + Y lub X − Y to mamy
X − Y = (Q − X) − Y = Q − ( X + Y) = X + Y
X + Y = (Q − X) + Y = Q − ( X − Y ) = X − Y
Odwrotno
addytywna liczby X = {xk −1 ,..., x1 , x0 ,..., x− m }β – liczba przeciwna
~
~
X = {~
xk −1 ,..., ~
x1 , ~
x0 ,..., ~
x− m }β ⇔ X + X = 0
~
~
~
~
Je li istnieje liczba Q , to X = 0 − X = Q + Q − X = Q + X i wtedy
~
X − Y = X + ( Y + Q)
~
W systemach uzupełnieniowych Q = ulp = [0,...,0,1}
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–I
DZIAŁANIA
Dodawanie i odejmowanie w systemach uzupełnieniowych*
W systemach naturalnych reprezentacj liczby wi kszej (mniejszej) o jednostk
(ulp=β–m o reprezentacji {0,…,0,1}) od danej jest wynik pozycyjnego dodania
(odj cia) ulp do (od) tej liczby.
• przeniesienie z pozycji najwy szej wiadczy o niewykonalno ci działania
Brak argumentów przeciw stosowaniu reguły w systemach uzupełnieniowych
(reprezentacj liczby przeciwnej jest 0 –X}
• dodawanie i odejmowanie jednostki mo na wykona zgodnie z reguł
xi ± yi ± ci = si ± βci +1 ,
• dodanie jednostki β–m do liczby najwi kszej ujemnej {β − 1,..., β − 1, β − 1}
o warto ci „–β–m”, zgodnie z reguł (i) daje w wyniku poprawne 0
• odj cie jednostki β–m od 0, zgodnie z reguł (i) daje {β − 1,..., β − 1, β − 1}
• problem wykonalno ci działania
o jednopozycyjne rozszerzenie zakresu zapewnia poprawno wyniku
ka dego dodawania lub odejmowania wykonanego zgodnie z reguł (i)
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–II
DZIAŁANIA
Dodawanie i odejmowanie w systemach stałobazowych
Podstawowe działanie: odejmowanie
– umo liwia wytworzenie 0 (0=X–X) oraz liczby przeciwnej (–X=0–X)
(dodawanie: odejmowanie liczby przeciwnej: X + Y =dfX – ( 0 – Y), 0 = X – X))
(odejmowanie przez dodawanie wymaga tworzenia liczb przeciwnych)
Problem:
Dla ustalonego zbioru (zbiorów) dozwolonych warto ci cyfr (∈D*) opisa
odwzorowanie wektorów cyfr reprezentuj cych składniki w reprezentacj
liczby, której warto jest ró nic / sum warto ci argumentów:
X = {xk −1 ,..., x1 , x0 ,..., x− m }β ,
Y = { yk −1 ,..., y1 , y0 ,..., y− m }β , xi , yi ∈ Di
⇓ ( si ∈ Di )
X ± Y = {..., sk −1 ,..., s1 , s0 ,..., s− m }β ⇔ {..., sk −1 ,..., s1 , s0 ,..., s− m }β = X ± Y
W systemie stałobazowym mo na to zrealizowa wg schematu rekurencyjnego,
wykonuj c działania na kolejnych pozycjach pocz wszy od najni szej:
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–III
DZIAŁANIA
Dodawanie i odejmowanie w systemach standardowych
Je li zbiór cyfr jest standardowy, D = {0,1,…, β − 1} a podstawa dodatnia, to
jednoznacznym rozwi zaniem problemu jest:
 x ± yi ± ci , gdy | xi ± yi ± ci | < β i wtedy ci +1 = 0,
si =  i
 xi ± yi ± ci m β , gdy | xi ± yi ± ci | ≥ β i wtedy ci +1 = 1.
co mo na zapisa w postaci jednego równania z ograniczeniami;
xi ± yi ± ci = ± βci +1 + si
gdzie xi , yi , si ∈ {0,1,..., β − 1} ⇒ (ci ∈ {0,1} ⇒ ci +1 ∈ {0,1}) oraz
Je li zbiór cyfr jest niestandardowy D = {0, d 1 ,d 2 ,…,d β − 1 ,…; d i mod β = i }, to
rozwi zania s specyficzne i mog by niejednoznaczne
si = xi ± yi ± ci m wi +1 β ,
przy tym xi , yi , si , ci ∈ D oraz wi +1 mod β ∈ D .
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–IV
DZIAŁANIA
Dodawanie wieloargumentowe w systemach naturalnych (1)
• dodawanie jest przemienne i ł czne, wi c:
n −1
n −1
n −1
n −1
X + Y + Z + ... = ∑ xi β + ∑ yi β + ∑ zi β + ... = ∑ ( xi + yi + zi ...)β i
i
i =0
i
i
i =0
i =0
i =0
• ka da suma warto ci cyfr na ka dej pozycji i mo e by zapisana jako
liczba wielocyfrowa o wadze takiej jak waga pozycji (β i):
xi + yi + ... + zi = ... + β 2 ri + 2 + β vi +1 + ui
przy tym xi , yi ,..., zi , ui , vi +1 , ri + 2 ∈ {0,1,..., β − 1}
• przekształcenie redukuje m składników do 1+log β m składników
n −1
n −1
n +1
n
X + Y + ... = ∑ (ui + vi +1 + ri + 2 ...) β = ∑ ui β + ∑ vi β + ∑ ri β i + ...
i
i =0
i
i =0
i
i =1
i=2
• redukcja mo e by wykonana równolegle na poszczególnych pozycjach,
co pozwala szybko zredukowa sumowanie m liczb n-pozycyjnych do
sumowania dwóch liczb o rozmiarze m+log β m pozycji ka da.
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–V
DZIAŁANIA
Dodawanie wieloargumentowe w systemach naturalnych (2)
xi + yi + ... + zi = ... + β 2 ri + 2 + β vi +1 + ui
przy tym xi , yi ,..., zi , ui , vi +1 , ri + 2 ∈ {0,1,..., β − 1}
Je li jest ≤ β +1 składników jednocyfrowych, to ich suma jest dwucyfrowa:
{vi +1 , ui } = {k , xi + yi + ... + zi − kβ } gdy 0 ≤ xi + yi + ... + zi − kβ < β ,
dodawanie mo na wykona dwuetapowo:
• niezale nie obliczy sum na ka dej pozycji,
• doda otrzymane liczby dwucyfrowe.
±
vk
sk
xk–1
yk–1
…
zk–1
uk–1
vk–1
sk–1
xk–2
yk–2
…
zk–2
uk–2
vk–2
sk–2
xk–3
yk–3
…
zk–3
uk–3
…
…
…
…
…
…
…
v–m+4
…
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
x–m+3
y–m+3
…
z–m+3
u–m+3
v–m+3
s–m+3
x–m+2
y–m+2
…
z–m+2
u–m+2
v–m+2
s–m+2
x–m+1
y–m+1
…
z–m+1
u–m+1
v–m+1
s–m+1
x–m
y–m
…
z–m
u–m
s–m
DZ–VI
DZIAŁANIA
Sekwencyjny algorytm mno enia w systemie naturalnym
Mno na (multiplicand) A =| {as−1 ,..., a− p+1 , a− p }β | ,
Mno nik (multiplier) X =| {xk −1 ,..., x−m+1 , x−m }β | ,
k −1
 k −1
i
A ⋅ X = A ⋅  ∑ xi β  = ∑ β i ( xi A)
 i =− m
 i=− m
algorytm pisemny – dodawanie skalowanych iloczynów cz ciowych ( S −m = 0 )
S i +1 = S i + β i ( xi A) ,
i = −m, −m+1,...,k−1
algorytm dodaj-przesu (add-and-shift) – skalowanie sum cz ciowych Si
Pi = β −i S i
wtedy
Pi +1 = β
−1
( Pi + x i A)
k −1
β Pk = P− m + A{ ∑ xi β i } = A ⋅ X
k
i=−m
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–VII
DZIAŁANIA
Konstrukcja tabliczki mno enia w systemach naturalnych (1)
• dla 1≤k≤β − 1 iloczyn k⋅(β − 1) jest liczb dwucyfrow o sumie cyfr β – 1:
k ( β − 1) = (k − 1) β + ( β − k ) = {k − 1, β − k } β
• iloczyn jest przemienny (a*b=b*a) – wystarczy wypełni od przek tnej
• odległo ci liczb w rz dach i kolumnach s stałe
• przek tna: x2=(x–1)(x+1)+1 (np. 32=(3–1)*(3+1)+1=4*2+1)
↓+2
β
2
4
6
8
→+2
→+3
→+4
→+5
↓+3
↓+4
↓+5
…
3
4
5
6
8
9
3*4
5*3
4*3 5*3+1
66**44++11
5*3
…
…
…
…
…
…
↑–3
…
2
3
4
5
…
… …
β−2
β−1 (1,β−2) (2,β−3) (3,β−4) (4,β−5)
↑–2
WNIOSEK: wi kszo
↑–4
↑–5
β−2
β−1
(1,β−2) –2 ←
(2,β−3) –3 ←
(3,β−4) –4 ←
…
… –5 ←
…
… …
… (β−4,4) (β−3,2)
… (β−3,2) (β−2,1) suma cyfr β−1
oblicze mo na wykona bez generowania przeniesie …
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–VIII
DZIAŁANIA
Konstrukcja tabliczki mno enia w systemach naturalnych (2)
• odległo ci przek tnych te s stałe
• przek tne „styczne wierzchołkami” odliczane od przek tnej głównej
te mo na wypełnia niemal automatycznie, bo (n2=1+3+5+...+2n−1)
x2=(x–2)(x+2)+4=(x–2)(x+2)+1+3
(np. 42=(4–2)*(4+2)+4=6*2+4)
x2=(x–3)(x+3)+9=(x–3)(x+3)+1+3+5 (np. 52=(4–2)*(4+2)+4=6*2+4)
a2−1
a
2
...−1
a −1
2
x2−1
...
x2
...−1
...−
...−1−
...− −3
…
2
x −9
...−1−3
x 2− 4
x 2− 1
…
−3
−1
−5
• pozostałe przek tne s odległe od siebie kolejno o 2, o 4, o 6 itd.
x (x–1) =(x+1)(x–2)+2,
x (x–1) =(x+2)(x–3)+2+4, ...
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
(np. 5*4=6*3+2)
(np. 5*4=7*2+2+4)
DZ–IX
DZIAŁANIA
Tabliczki mno enia w systemach naturalnych
4
6
2
3
4
5
7
2
3
4
5
6
4 — —
11 14 —
13 22 31
2
4
10
12
14
—
13
20
23
—
—
24
32
—
—
—
41
2
4
6
11
13
15
—
12
15
21
24
—
—
22
26
33
—
—
—
34
42
—
—
—
—
51
5
2
3
4
2
3
3
4
5
3
4
5
6
9
2
3
4
5
6
7
8
11
2
3
4
5
6
7
8
9
A
2
4
6
8
11
13
15
17
—
10
13
16
20
23
26
—
—
17
22
26
31
35
—
—
—
27
33
38
44
—
—
—
—
40
46
53
—
—
—
—
—
54
62
—
—
—
—
—
—
71
2
4
6
8
A
11
13
15
17
19
—
9
11
14
17
1A
22
25
28
—
—
15
19
22
26
2A
33
37
—
—
—
23
28
32
37
41
46
—
—
—
—
33
39
44
4A
55
—
—
—
—
—
45
51
58
64
—
—
—
—
—
—
59
66
73
—
—
—
—
—
—
—
74
82
—
—
—
—
—
—
—
—
91
3
4
5
6
7
8
3
4
5
6
7
8
9
A
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–X
DZIAŁANIA
Algorytm dzielenia całkowitego
Dla danych liczb całkowitych X (dzielna, ang. dividend) oraz D≠ 0 (dzielnik ang.
divisor) istniej liczby całkowite Q (iloraz, ang. quotient) oraz R (reszta, ang.
remainder) takie, e
X = Q⋅ D + R, |R|<|D|
Dla R≠0 równanie dzielenia ma 2 rozwi zania – je li 0 < R < D, to
X = Q⋅ D + R = (Q+1)⋅ D + ( R–D),
Wyró nia si :
• dzielenie znakowane (signed div.) – zgodne znaki reszty i dzielnej (R D ≥ 0)
• dzielenie modularne (modulus div.) – znak reszty dodatni (R ≥ 0)
W systemie pozycyjnym o podstawie β dzieln i dzielnik mo na skalowa
n
–p
przez β , ergo iloraz mo na obliczy z dowoln dokładno ci β .
Je li X = {xk −1 ,..., x1 , x0 ,...}β i D = {d l −1 ,..., d1 , d 0 ,...}β , to:
Q = {qk −l +1 , qk −l ,..., q0 ,...q− p }β =
k −l +1
∑q β
i
i
, przy tym X – Q⋅ D ≤ D*β
–p
i =− p
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–XI
DZIAŁANIA
Dzielenie sekwencyjne w systemie naturalnym
Algorytm oblicze jest iteracyjny
– na podstawie przybli enia obliczonego z dokładno ci β i oblicza si
kolejn cyfr ilorazu wyznaczaj c przybli enie z dokładno ci β i–1
Pierwszym przybli eniem ilorazu jest {qs ,0,...,0}β = Qs ,1 = qs β s takie, e
q s β s D ≤ X < (q s + 1) β s D ,
0 ≤ R1 = X − qs β s D < β s D
s–i+1
(i cyfr znacz cych), to
Je li Qs,i jest przybli eniem ilorazu z dokładno ci β
s–i
przybli eniem z dokładno ci β (i+1 cyfr) jest Qs ,i +1 = Qs ,i + qs −i β s −i takie, e
qs −i β s −i D ≤ Ri = X − Qs ,i D < (qs −i + 1) β s −i D ,
0 ≤ Ri +1 = Ri − qs −i β s −i D < β s −i D ,
co po skalowaniu ( ri = Ri β i −s−1 ) prowadzi do nierówno ci parametrycznej
0 ≤ ri +1 = β ri − qs −i D < D
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
DZ–XII
KONWERSJA PODSTAWY
Pozycyjne rozwini cie liczby w systemie naturalnym
W systemie naturalnym o podstawie β jednoznaczn reprezentacj liczby X ≥ 0,
{xk −1 ,..., x0 , x−1 ,..., x− m ,...}β , jest rozwi zanie równania
k −1
∑ xi β i = xk −1 β k −1 + xk −2 β k −2 + ... + x−m β − m + ... = X ,
i=−m
z warunkami: xi ∈ {0,1,...,β − 1}.
UWAGA: Rozwini cie cz ci ułamkowej mo e by niesko czone (okresowe).
W praktyce warto liczby jest zapisana w jakim systemie pozycyjnym,
wi c rozwi zanie problemu nazywa si konwersj podstawy.
• działania wykonywane s w systemie ródłowym (o podstawie ω)
• podstawa systemu docelowego β jest zakodowana w systemie ródłowym
β = |{bp, …, b1, b0}ω |
• wyniki {zs–1, zs–1, …, z–r}β – w systemie o podstawie β ( s ≤ k log β ω )
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–1
KONWERSJA PODSTAWY
Konwersja tablicowa
1. Utwórz tablic pot g podstawy docelowej β n , β n–1 ,…, β –m , β n < X<β n+1
2. Metod „odejmij i porównaj” wyznacz kolejne cyfry reprezentacji:
i = n , X n= X
Powtarzaj, dopóki i > m (dokładno oblicze β –m )
a) Je li qβ i ≤ Xi < ( q+1)β i < 0, to xi=q,
b) i : = i – 1, Xi–1= Xi– xiβ i
problem: warto ci pot g ujemnych s przybli one, np. 0,110 = 0,(00011)2
wada: dokładno oblicze narzucona z góry
Przykład (...)10→(...)8 (83=512, 82=64, 8–1=0,125, 8–2=0,16625)
1937,0312510=3⋅512+3⋅64+2⋅8+1+2⋅64–1=3⋅83+3⋅82+2⋅81+1⋅80+2⋅8–2=3321,028
Bezpo rednie obliczenie
Zapisujemy podstaw i warto ci cyfr w systemie docelowym i wykonujemy obliczenie.
W praktyce dotyczy to tylko konwersji na system dziesi tny…
Przykład:
110110112=(1*27+1*26+1*24+1*23+1*21+1*20=128+64+16+8+2+1)10=21910
35428=(3*83+5*82+4*81+2*80=3*512+5*64+4*8+2*1=1536+320+32+2)10=189010
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–2
KONWERSJA PODSTAWY
Schemat Hornera
warto
W
(n)
wielomianu mo na obliczy jako:
n
( x) = ∑ ai xi = a0 + x {a1 + x [a2 + x(a3 + ... + x (an−1 + x an ))]}
i =0
schemat klasyczny
– suma iloczynów przez pot gi zmiennej
• n dodawa i n mno e ,
• n–1 oblicze pot g
• potrzebna pami pot g
schemat Hornera
– suma iloczynów przez zmienn
• n dodawa i n mno e ,
• zb dna pami
Szybkie obliczanie warto ci liczby w systemie pozycyjnym
liczby całkowite
n
Z β = ∑ z i β i = {[...[( z n β + z n −1 ) β + z n − 2 ]β + ... + z 2 ]β + z1}β + z 0
i =0
liczby ułamkowe – skalowanie ułamka U, aby otrzyma U=Zβ–m, albo (uniwersalnie)
Uβ =
−m
∑ ui β
i = −1
m −1
i
= ∑ u s − m β s − m = β − m {[...(u − m β + u − m +1 ) β + ... + u −3 ]β + u − 2 }β + u −1
s =0
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–3
KONWERSJA PODSTAWY
Generowanie reprezentacji pozycyjnej
Dla cz ci całkowitej XI oraz ułamkowej XF liczby X mamy odpowiednio
k −1
X I = ∑ xi β i = x0 + β {x1 + β [ x2 + ...β ( xk − 2 + β xk −1 )]}
i =0
XF =
−1
∑ xi β i = β −1{x−1 + β −1[ x−2 + ... + β −1 ( x−m+1 + β −1 x−m )...]}
i =− m
Regularno wyra e prowadzi do algorytmów generowania reprezentacji:
• uniwersalnych – niezale nych od systemu,
• dynamicznych – niezale nych od warto ci liczby.
Algorytmy musz uwzgl dnia specyfik arytmetyki systemu pozycyjnego
• ujemn podstaw w systemach negabazowych
• ujemne cyfry w systemach SD
• ujemn warto cyfry rozszerzenia w systemach uzupełnieniowych
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–4
KONWERSJA PODSTAWY
Konwersja cz ci całkowitej liczby
A mod b – reszta z dzielenia A przez b
A div b – iloraz całkowity A przez b
X I = I 0 = x0 + β {x1 + β [ x2 + β ( x3 + ...β ( xk −2 + β xk −1 )...)]}
x0 = I 0 mod β
I 0 div β = I1 = x1 + β [ x2 + β ( x3 + β [ x4 + ...β ( xk − 2 + β xk −1 )...])]
x1 = I1 mod β
I1 div β = I 2 = x2 + β ( x3 + β [ x4 + β ( x5 + ...β ( xk −2 + β xk −1 )...)])
x2 = I 2 mod β
…
cyframi rozwini cia cz ci całkowitej XI liczby X w systemie o podstawie β s :
x j = I j mod β , I j +1 = I j div β = int β −1I j , I 0 = X I
Je li Ir = 0, to xr+1 = 0, Ir+1 = 0 itd.
(kolejne cyfry lewostronnego rozwini cia s zerami)
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–5
KONWERSJA PODSTAWY
Algorytm konwersji cz ci całkowitej liczby
Procedura (na podstawie rozwini cia Hornera):
Powtarzaj, dopóki nie uzyskasz ilorazu równego 0:
1. Oblicz iloraz i reszt z dzielenia liczby przez podstaw systemu docelowego
2. Otrzymana reszta jest kolejn cyfr rozwini cia pozycyjnego w systemie
o podstawie docelowej β
3. Otrzymany iloraz poddaj procedurze dzielenia
Algorytm wyznaczania reprezentacji cz ci całkowitej (A naturalne)
0. X(0) = A
i=0
1. X(i+1) = int(X(i) / β)
2. xi = X(i) – β X(i+1)
3. i ++
4. if X(i+1) ≠ 0 goto 1
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
; podstaw warto ci pocz tkowe
; iloraz całkowity
; reszta
; zwi ksz i
; powtarzaj dopóki iloraz ≠ 0
KP–6
KONWERSJA PODSTAWY
Konwersja cz ci ułamkowej liczby
int A – cz
całkowita liczby A
X F = F1 = β −1{x−1 + β −1[ x−2 + β −1 ( x−3 + ... + β −1 ( x−m+1 + β −1 x−m )...)]}
x−1 = int β F1
βF1 − x−1 = F2 = β −1[ x−2 + β −1 ( x−3 + β −1[ x−4 + ... + β −1 ( x−m+1 + β −1 x−m )...])]}
x−2 = int β F2
βF2 − x−2 = F3 = β −1 ( x−3 + β −1[ x−4 + β −1 ( x−5 + ... + β −1 ( x−m+1 + β −1 x−m )...)])
x−3 = int β F3
cyframi rozwini cia cz ci ułamkowej XF liczby X w systemie o podstawie β s
x− j = int β F j , F j +1 = β F j − x− j < 1 , F1 = X F < 1
Je li Fr = 0, to x–(r+1) = 0, Fr+1 = 0 itd.
(kolejne cyfry prawostronnego rozwini cia s zerami)
Je li dla r > r0 jest Fr = Fr–k, to rozwini cie jest okresowe (okres ma k cyfr)
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–7
KONWERSJA PODSTAWY
Algorytm konwersji ułamka wymiernego
Procedura (na podstawie rozwini cia rekurencyjnego)
1. Pomnó ułamek przez podstaw systemu docelowego β
2. Cz
całkowita iloczynu kolejn cyfr rozwini cia pozycyjnego
3. Cz
ułamkow iloczynu ponownie poddaj procedurze
4. Powtarzaj tak długo a :
– uzyskasz wymagan dokładno β–m (odpowiedni liczb cyfr),
– otrzymasz iloczyn równy 0,
– wykryjesz okresowo (pojawi si ułamek argument taki jak wcze niej).
Reprezentacja cz ci ułamkowej (A < 1) z dokładno ci
0. X(0) = A, x0 = 0
i=0
1. x–i = int(β X(i) )
2. X(i+1) = β X(i) – x–i
3. i ++
4. if i ≤ m & X(i+1) ≠ 0 goto 1
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
β–m
; podstaw warto ci pocz tkowe
; cz
całkowita iloczynu
; cz
ułamkowa iloczynu
; zwi ksz i
; powtarzaj dopóki za mała dokładno
; i niezerowy argument
KP–8
KONWERSJA PODSTAWY
Konwersja ułamka wymiernego w systemach naturalnych
Uwaga
Wynikiem konwersji ułamka wymiernego jest ułamek sko czony lub okresowy
WŁA CIWO konwersji ułamka
Je li ka dy dzielnik podstawy ródłowej ω jest dzielnikiem podstawy docelowej
β, to wynikiem konwersji ułamka sko czonego jest ułamek sko czony
[∀p ∈ P : NWD ( p, ω ) = p ⇒ NWD ( p, β ) = p ] ⇒ ∃r < ∞ :
i = −1
i = −1
∑ xi ω = ∑ zi β i
i
i=−m
i =−r
DOWÓD. Je li F jest ułamkiem sko czonym m-pozycyjnym w bazie ω, to
F=
−1
∑ xiω
i =−m
i
=ω
−m
m −1
∑ xi − mω i = Aω − m ,
0 ≤ A ≤ ω m − 1, A ∈ N .
i =0
F ma sko czone rozwini cie tak e w bazie β, je eli istnieje B∈N i r < ∞ takie,
e F = Bβ − r , 0 ≤ B ≤ β r − 1 . Załó my, e NWD(p,β) = 1. Ale wówczas byłoby
Aβ r = Bω m & NWD ( p, β ) = 1 & NWD ( p, ω ) = p ⇒ NWD ( p m , A) = p m ,
wi c rozwini cie F byłoby niesko czone, chyba e A = k pm.
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–9
KONWERSJA PODSTAWY
Konwersja liczby ujemnej na system uzupełnieniowy
1. Ka dy ujemny ułamek wła ciwy mo na przedstawi jako 1+f, gdzie f jest
dodatnim ułamkiem wła ciwym, wi c
liczb –(X + f ) mo na przedstawi jako –(X+1)+(1 – f )
2. Wagi wszystkich cyfr reprezentacji
uzupełnieniowych s dodatnie, wi c
konwersja cz ci całkowitej wymaga
nast puj cego post powania:
1) kolejne ilorazy maj taki znak jak
liczba przetwarzana,
2) warunek stopu:
dwa kolejne ilorazy identyczne, czyli
iloraz równy warto ci ci gu cyfr
rozszerzenia (0 lub –1)
Ii
–1573
–197
–25
–4
–1
–1
…
–157310→XU8→ZU2
mod 8
3
3
7
4
7
7
(7)
=x0
=x1
=x2
=x3
=x4
=x5
–157310 = (7)4733U8 =
(1)100 111 011 011U2
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–10
KONWERSJA PODSTAWY
Konwersja podstawy skojarzonej – przykłady
2345671,3215... = 2 ⋅106 + 34 ⋅104 + 56 ⋅102 + 71 ⋅100 + 32 ⋅10−2 + 15 ⋅10− 4... =
= 2 ⋅1003 + 34 ⋅100 2 + 56 ⋅1001 + 71 ⋅1000 + 32 ⋅100 −1 + 15 ⋅100−2...
11 100 111, 011 1012 = 112 ⋅ 26 + 1002 ⋅ 23 + 1112 ⋅ 20 + 0112 ⋅ 2−3 + 1012 ⋅ 2−6 =
= 38 ⋅ 82 + 48 ⋅ 81 + 78 ⋅ 80 + 38 ⋅ 8−1 + 58 ⋅ 8− 2 = 347,358
2347,358 = 2 ⋅ 83 + 3 ⋅ 82 + 4 ⋅ 81 + 7 ⋅ 80 + 3 ⋅ 8−1 + 5 ⋅ 8−2 =
= 0102 ⋅ 29 + 0112 ⋅ 26 + 1002 ⋅ 23 + 1112 ⋅ 20 + 0112 ⋅ 2−3 + 1012 ⋅ 2−6 =
= 010 011 100 111, 011 1012 = 0100 1110 0111, 0111 01002 =
= 01002 ⋅ 28 + 11102 ⋅ 24 + 01112 ⋅ 20 + 01112 ⋅ 2− 4 + 01002 ⋅ 2−8 = 4E7,7416
(1)100111,011101U 2 = (111) 100 111, 011101U 2 = (7)47,35 U 8 =
= (1111) 1110 0111, 0111 0100 U 2 = (F)E 7,74 U16
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–11
KONWERSJA PODSTAWY
Konwersja podstawy skojarzonej w systemach naturalnych
X = ... + x5 β 5 + x4 β 4 + x3 β 2 + x2 β 2 + x1 β 1 + x0 β 0 + x−1 β −1 + x−2 β −2 ... =
= ...( x5 β + x4 ) β 4 + ( x3 β + x2 ) β 2 + ( x1 β + x0 ) β 0 + ( x−1 β + x− 2 ) β − 2 + ... =
= ...( x5 β 2 + x4 β + x3 ) β 3 + ( x2 β 2 + x1β + x0 ) β 0 + ( x−1 β 2 + x− 2 β + x−3 ) β −3 + ...
a zatem:
k −1
∑ xi β
i =− m
i
=
t −1
∑ ( x js+ s−1β
s −1
+ ... + x js +1β + x js )( β ) =
j =− r
s
j
t −1
∑ z j (β s ) j
j =− r
czyli {xk −1 ,..., x1 , x0 ,..., x− m } β = {zt −1 ,..., z1 , z0 ,..., z− r } β s
gdzie z j = x js + s −1β s −1 + ... + x js +1β + x js ∈ {0,1,..., β s − 1} – warto
cyfry w (..)β ↑ s
Zło enie konwersji – (..)β ↑ k →(..)β ↑ s
(..)β ↑ k →(..)β ↑ s ⇔ (..)β ↑ k →(..)β || (..)β →(..)β ↑ s
ω < β s ⇒ zamiast konwersji (..)ω →(..)β wygodniej realizowa (..)ω →(..)β ↑ s
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–12
KONWERSJA PODSTAWY
Konwersja podstawy w systemach naturalnych – przykłady
157,38610→X8→Z2 oraz 157,38610→X9→Z3 (8=23 9=32).
mod 23
×23 Fi
Ii mod 32
Ii
157
0 386
157
19 5 =x0
x-1 = 3 088
17 4 =x0
2 3 =x1
x-2 = 0 704
1 8 =x1
0 2 =x2
x-3 = 5 632
0 1 =x2
157,38610 = 235,305...8 = 10011101,011000101...2
×32
0
x-1 = 3
x-2 = 4
x-3 = 2
Fi
386
474
266
394
157,38610 = 184,3429 = 12211,101102...3.
235,3058→X10 oraz 235,3058→X9→Z3 (działania w systemie ósemkowym)
Fi
Ii mod 118
×3
Ii mod 128 ×128
2358
0 3058
2358
0
178 7 =x0
x-1 = 3 6628
218 4 =x0
x-1 = 3
1 5 =x1
x-2 = 108 3648
1 8 =x1
x-2 = 4
0 1 =x2
x-3 = 4 6108
0 1 =x2
x-3 = 1
235,3058 =157,384...10 = 184,341...9 = 12211,101101...3.
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
Fi
3058
3558
1258
3758
KP–13
KONWERSJA PODSTAWY
Konwersja ułamka wymiernego
Ułamek sko czony w bazie danej ω mo e by okresowy w bazie docelowej β
za wynikiem konwersji ułamka okresowego mo e by ułamek sko czony.
0,110 = 0,00011001100110011…2 = 0,0(0011)2
548
→ X10
618
x0 =0
0
x–1 =8
=108
x–2 =9
=118
x–3 =7
=78
×128=1010
608 6708
=
618
618
47
7408
+ 8=
618
618
57
606 8 …
+ 8=
618
618
+
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
KP–14
KONWERSJA PODSTAWY
Konwersja ułamków okresowych w systemach naturalnych
• zamiana na ułamek wymierny
1 
z β −c  1 
z 

0, x−1...x− k ( z − k −1...z − k −c ) β = k  x +
x
=
+


k
c
−c 
β  1− β  β 
β −1
• automatyczna korekcja okresu podczas mno enia
– przeniesienie wewn trz okresu jest cykliczne
ułamek wymierny
53210
→ X8
0,5(37)10 =
99010
ułamek okresowy
0,5(37)10→X8
tylko 0,(xy...z)β
0,(386)10→X7
×7
0
×8
296
4256
10
10
=
x–1 = 4 +
99010 99010
38810 236810
=
99010 99010
13410 310410
+
=
x–3 = 3
99010 99010
x–2 = 2 +
0 5 (37) ×8
…2 (96)
x–1 = 4 2 (98)
…7 (84)
x–2 = 2 3 (91)
…7 (28)
x–3 = 3 1 (35)
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
0 (386)
x–1 = 2
(704)
x–2 = 4 (928)
(932)
x–3 = 6 (524)
(530)
(702)
KP–15
KONWERSJA PODSTAWY
Konwersja podstawy w systemach stałobazowych
Schemat Hornera mo e by u yty do zapisu warto ci liczby w dowolnym
systemie stałobazowym
WNIOSEK
Algorytmy konwersji dla systemu naturalnego mo na stosowa tak e
w dowolnym systemie stałobazowym lub uzupełnieniowym.
Problem: arytmetyka musi by odpowiednia do wła ciwo ci systemu
Przykład:
157,38610→(..)SD-8. (D = { 4 , 3, 2, 1, 0, 1, 2, 3}
Ii
Ii
157
19 5 → 20 3
34
03
mod 8
=x0
=x1
=x2
×8
0
x-1 = 3
x-2 = 0
x-3 = 5
© Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009
Fi(!<500)
386
088
704 !!
632 ↑
×8
x-1 =
x-2 =
x-3 =
x-4 =
0
3
1
2
3
Fi
386
088
296
368
056
KP–16

Podobne dokumenty