Transcript
Nagypontosságú aritmetika
III.
ELTE
Nagypontosságú aritmetika:
racionális számok
Példa: 3227
59
Ábrázolás:
előjel + számláló számjegyei + számláló
hossza + nevező számjegyei + nevező hossza
+ számrendszer (tömb vagy szöveg):
2021. 03. 21. 14:15Zsakó László: Nagypontosságú aritmetika
m
m
n
n
Snevnev
Sszámszámx
...
...
0
0
2/12
ELTE
Nagypontosságú aritmetika:
racionális számok
NagyRac típus:
előjel: {–,+}
N,M: Egész
S: alapszám
sz,ne: tömb(0..Maxn,Egész)
2021. 03. 21. 14:15Zsakó László: Nagypontosságú aritmetika
m
m
n
n
Snevnev
Sszámszámx
...
...
0
0
3/12
ELTE
Nagypontosságú aritmetika:
racionális számok
Összeadás, kivonás
ahol D=lnko(Un, Vn).
Szorzás, osztás:
ahol D1=lnko(Us, Vn), D2=lnko(Un, Vs).
A végén még lehet, hogy kell egyszerűsíteni!2021. 03. 21. 14:15
Zsakó László: Nagypontosságú aritmetika
nn
ns
ns
nn
nsns
n
s
n
s
VD
UD
UV
D
VU
VU
UVVU
V
V
U
U
*
**
U
U
V
V
U
D
V
D
U
D
V
D
s
n
s
n
s s
n n*
*
*
1 2
2 1
4/12
ELTE
Nagypontosságú aritmetika:
racionális számokÖsszead(U,V,C):
D:=lnko(U.ne,V.ne)
Oszt(U.ne,D,UD); Oszt(V.ne,D,VD)
Szoroz(U.sz,VD,UVD)
Szoroz(V.sz,UD,VUD)
Összead(UVD,VUD,C.sz)
Szoroz(UD,V.ne,C.ne)
Eljárás vége.
2021. 03. 21. 14:15Zsakó László: Nagypontosságú aritmetika
nn
ns
ns
nn
nsns
n
s
n
s
VD
UD
UV
D
VU
VU
UVVU
V
V
U
U
*
**
5/12
ELTE
Nagypontosságú aritmetika:
racionális számokSzoroz(U,V,C):
D1:=lnko(U.sz,V.ne)
D2:=lnko(U.ne,V.sz)
Oszt(U.sz,D1,UD); Oszt(V.sz,D2,VD)
Szoroz(UD,VD,C.sz)
Oszt(U.ne,D2,UD); Oszt(V.ne,D1,VD)
Szoroz(UD,VD,C.ne)
Eljárás vége.
2021. 03. 21. 14:15Zsakó László: Nagypontosságú aritmetika
U
U
V
V
U
D
V
D
U
D
V
D
s
n
s
n
s s
n n*
*
*
1 2
2 1
6/12
ELTE
Nagypontosságú aritmetika:
racionális számok
Legnagyobb közös osztólnko(U,V):
Ciklus amíg U≠V
Ha U>V akkor U:=U-V
különben V:=V-U
Ciklus vége
lnko:=U
Eljárás vége.
lnko(U,V):
Ciklus amíg nemegyenlő(U,V)
Ha nagyobb(U,V) akkor Kivon(U,V,U)
különben Kivon(V,U,V)
Ciklus vége
lnko:=U
Eljárás vége.2021. 03. 21. 14:15
Zsakó László: Nagypontosságú aritmetika 7/12
ELTE
Nagypontosságú aritmetika:
racionális számok
Legnagyobb közös osztó bináris számokra
𝑙𝑛𝑘𝑜 𝑢, 𝑣 =
1, ha u=1 vagy v=1
2∗lnkou
2,v
2, ha u páros és v páros
lnkou
2,v , ha u páros és v páratlan
lnko u,v
2, ha u páratlan és v páros
lnko u−v,v , ha u>vlnko umv−u , ha u<c
2021. 03. 21. 14:15Zsakó László: Nagypontosságú aritmetika 8/12
ELTE
Nagypontosságú aritmetika:
racionális számok
További műveletek:
egész racionális konverzió
racionális egész konverzió
relációk (=, <, >, …)
eggyel növelés, csökkentés
Speciális racionális számok
Például: 34
9
2021. 03. 21. 14:15Zsakó László: Nagypontosságú aritmetika
N
SE
9/12
ELTE
Nagypontosságú aritmetika:
fixpontos valós számok
Példa: 3.14159
Ábrázolás
mint az egész + tizedespont helye
mint az egész, de negatív indexek is vannak
x = tnSn + ... + t0 + t-1S
-1 + ... + t-mS-m
Műveletek összeadásnál, kivonásnál a különböző hosszúságú
törtrészek esete osztás adott hosszúságú törtrészre lebegőpontossá alakítás, racionálissá alakítás,
közelítés racionálissal relációk
2021. 03. 21. 14:15Zsakó László: Nagypontosságú aritmetika 10/12
ELTE
Nagypontosságú aritmetika:
lebegőpontos valós számok
Példa: 0.123 ∗ 102
Ábrázolás mint a fixpontos, de csak negatív indexek vannak
x = (t-1S-1 + ... + t-mS-m)*Sk
Műveletek összeadás, kivonás: azonos kitevőre hozás,
különböző hosszú számok
szorzás, osztás
normalizálás, kerekítés
fixpontossá alakítás
relációk
Speciális lebegőpontos számok (pl. egész)2021. 03. 21. 14:15
Zsakó László: Nagypontosságú aritmetika 11/12
top related