Representation av tal i olika baser

Tal i olika baser.nb
Tal i olika baser
baseRange
12
13
14
15
16
17
18
19
1
beräkna det tal i tiosystemet som motsvaras av Idn-1 … d1 Mbas, och
därefter göra två operationer: multiplicera med bas samt addera d0 .
numberRange
02
03
04
05
06
07
08
09
0
Ty ovanstående likhet uttrycker att om vi vill beräkna det tal i tiosystemet
som motsvaras av Idn-1 … d1 d0 Mbas behöver vi "bara" börja med att
Här är en pseudokod som beskriver nämnda kalkyl:
102
23
24
25
26
27
28
29
2
112 1002
103 113
34 104
35
45
36
46
37
47
38
48
39
49
3
4
1012 1102
123 203
114 124
105 115
56 106
57
67
58
68
59
69
5
6
1112 10002 10012 10102
213
223 1003 1013
134
204
214
224
125
135
145
205
116
126
136
146
107
117
127
137
78
108
118
128
79
89
109
119
7
8
9
10
Från en godtycklig bas till basen 10
7925 representerar 7 ÿ 103 + 9 ÿ 102 + 2 ÿ 101 + 5
11012 representerar 1 ÿ 23 + 1 ÿ 22 + 0 ÿ 21 + 1 dvs 13
20123 representerar 2 ÿ 33 + 0 ÿ 32 + 1 ÿ 31 + 2 dvs 59
ALLMÄNT: Idn-1 … d1 d0 Mbas representerar det tal som i tiosystemet
beräknas av uttrycket dn-1 ÿ basn-1 + … + d1 ÿ bas1 + d0 .
Genom att avskilja den sista termen i ovanstående uttryck uppenbaras en
rekursionsformel:
dn-1 ÿ basn-1 + … + d1 ÿ bas1 + d0 = Idn-1 ÿ basn-2 + … + d1 M ÿ bas + d0
Från(bas, tom sträng)=0
FrånHbas, strängL = FrånHbas, UtomSistaHsträngLL ÿ bas + SistaHsträngL
EXEMPEL 1
FrånH 3, 2012 L =
FrånH3, 201L ÿ 3 + 2 =
HFrånH3, 20L ÿ 3 + 1L ÿ 3 + 2 =
HHFrånH3, 2L ÿ 3 + 0L ÿ 3 + 1L ÿ 3 + 2 =
HHHFrånH3, tom strängL ÿ 3 + 2L ÿ 3 + 0L ÿ 3 + 1L ÿ 3 + 2 =
HHH0 ÿ 3 + 2L ÿ 3 + 0L ÿ 3 + 1L ÿ 3 + 2 =
HH2 ÿ 3 + 0L ÿ 3 + 1L ÿ 3 + 2 =
H6 ÿ 3 + 1L ÿ 3 + 2 = 19 ÿ 3 + 2 = 59
Från basen 10 till en godtycklig bas
Om man exempelvis vill representera 5910 i basen 3 så gäller det att ta reda
på hur många 3-potenser av olika storlek som ryms inuti 59. Man kan
konstatera att det får plats 19 stycken 3:or och att det blir 2 enheter över.
Kvoten 19 uttrycker att det finns nitton stycken 31 -potenser och resten 2
att det finns två stycken 30 -potenser inuti femtionio. Men också 19
innehåller 3:or. Genom fortsatt division med 3 erhålls
2
3
Tal i olika baser.nb
59 = 19 ÿ 3 + 2
= H6 ÿ 3 + 1L ÿ 3 + 2
= HH2 ÿ 3 + 0L ÿ 3 + 1L ÿ 3 + 2
= HHH0 ÿ 3 + 2L ÿ 3 + 0L ÿ 3 + 1L ÿ 3 + 2
= 2 ÿ 33 + 0 ÿ 32 + 1 ÿ 3 + 2
Den avslutande raden ovanför visar att 5910 representeras i basen 3 av
20123 . Notera att strängen 2012 är en utökning i höger ände (med
restsiffran 2) av den sträng 201 som representerar 1910 .
Allmänt gäller följande: Om man för ett givet tal i tiosystemet vill veta dess
representation i en ny bas, så börjar man med att dividera talet med den
nya basen.
tal = kvoten·(nya basen)+resten
Sedan behöver man bara
1. representera kvoten i den nya basen, och
2. foga resten till resultatets högra ände.
4
Tal i olika baser.nb
Från en bas till en annan
Sammansättningen TillH annan bas, FrånHbas, strängL L översätter ett givet
tals siffersträng i en viss bas till samma tals siffersträng i en annan bas:
EXEMPEL 3 TillH2, FrånH3, 2012LL = Till H2, 59L = … = 111 011
2-systemet
Eftersom Idn-1 … d1 d0 M2 representerar dn-1 ÿ 2n-1 + … + d1 ÿ 21 + d0 ,
följer att
Idn-1 … d1 0M2 representerar dn-1 ÿ 2n-1 + … + d1 ÿ 21 , dvs ett jämnt tal.
Idn-1 … 00M2 representerar dn-1 ÿ 2n-1 + … + d1 ÿ 22 , dvs ett tal delbart
med fyra.
H10 … 0L representerar en ren tvåpotens: 2n-1 .
2
H11 … 1L representerar nästan en ren tvåpotens:
n siffror
n siffror
2
2n-1 + 2n-2 + … + 20
Nedanstående pseudokod beskriver nämnda transformation:
TillHnyBas, 0L = tom sträng
TillHnyBas, talL =
FogaHTillHnyBas, KvotHtal, nyBasLL, RestHtal, nyBasLL
EXEMPEL 2
TillH 3, 59 L
= FogaHTillH3, 19L, 2L
= FogaHFogaHTillH3, 6L, 1L, 2L
= FogaHFogaHFogaHTillH3, 2L, 0L, 1L, 2L
= FogaHFogaHFogaHFogaHTillH3, 0L, 2L, 0L, 1L, 2L
= FogaHFogaHFogaHFogaHtom sträng, 2L, 0L, 1L, 2L = 2012
2n - 1.
=
Æ
Geom. summa
Som jämförelse
Idn-1 … d1 0M10 representerar ett tal delbart med tio.
Idn-1 … 00M10 representerar ett tal delbart med hundra.
H10 … 0L
10
H99 … 9L
n siffror
n siffror
10
representerar en ren tiopotens: 10n-1 .
representerar nästan en ren tiopotens:
9 ÿ 10n-1 + 9 ÿ 10n-2 + … + 9 ÿ 100
=
Æ
Geom. summa
n
9 10 -1 = 10n - 1.
10-1
Från basen 2 till en ny bas som är en högre tvåpotens
5
Tal i olika baser.nb
Från basen 2 till en ny bas som är en högre tvåpotens
Att arbeta med basen två är på många sätt enkelt. Inte minst därför att
man bara behöver arbeta med två olika siffror: 0 och 1. De resulterande
strängarna kallas för bitsträngar.
Det är också utomordentligt enkelt att gå från basen två till en annan
tvåpotensbas. Man behöver bara gruppera den givna bitsträngens siffror i
grupper av viss längd från höger räknat. "Värdet" av de enskilda grupperna
blir siffror i den resulterande strängen.
För att gå till en representation i basen fyra, åtta respektive sexton skall
gruppernas längder vara 2, 3 respektive 4. Nedanstående rader illustrerar …
Från basen 2 till basen 4
… + d7 ÿ 27 + d6 ÿ 26 + d5 ÿ 25 + d4 ÿ 24 + d3 ÿ 23 + d2 ÿ 22 + d1 ÿ 21 + d0 =
… + Id7 ÿ 2 + d6 M 26 + Id5 ÿ 2 + d4 M 24 + Id3 ÿ 2 + d2 M 22 + d1 ÿ 21 + d0 =
… + Id7 ÿ 2 + d6 M 43 + Id5 ÿ 2 + d4 M 42 + Id3 ÿ 2 + d2 M 41 + Id1 ÿ 21 + d0 M 40
œ80,1,2,3<
Från basen 2 till basen 8
… + d8 ÿ 28 + d7 ÿ 27 + d6 ÿ 26 + d5 ÿ 25 + d4 ÿ 24 + d3 ÿ 23 + d2 ÿ 22 + d1 ÿ 21 + d0 =
… + Id8 ÿ 22 + d7 ÿ 2 + d6 M 26 + Id5 ÿ 22 + d4 ÿ 2 + d3 M 23 + d2 ÿ 22 + d1 ÿ 21 + d0 =
… + Id8 ÿ 22 + d7 ÿ 2 + d6 M 82 + Id5 ÿ 22 + d4 ÿ 2 + d3 M 81 + Id2 ÿ 22 + d1 ÿ 21 + d0 M 80
œ80,1,2,3,4,5,6,7<
6
Tal i olika baser.nb
Från basen 2 till basen 16
… + d15 ÿ 215 + d14 ÿ 214 + d13 ÿ 213 + d12 ÿ 212 + d11 ÿ 211 + d10 ÿ 210 + d9 ÿ 29 +
d8 ÿ 28 + d7 ÿ 27 + d6 ÿ 26 + d5 ÿ 25 + d4 ÿ 24 + d3 ÿ 23 + d2 ÿ 22 + d1 ÿ 21 + d0 =
… + Id15 ÿ 23 + d14 ÿ 22 + d13 ÿ 2 + d12 M 212 + Id11 ÿ 23 + d10 ÿ 22 + d9 ÿ 2 + d8 M 28 +
Id7 ÿ 23 + d6 ÿ 22 + d5 ÿ 2 + d4 M 24 + Id3 ÿ 23 + d2 ÿ 22 + d1 ÿ 21 + d0 M 20 =
… + Id15 ÿ 23 + d14 ÿ 22 + d13 ÿ 2 + d12 M 163
œ80,1,2,…,15<
+Id11 ÿ 23 + d10 ÿ 22 + d9 ÿ 2 + d8 M 162 +
Id7 ÿ 23 + d6 ÿ 22 + d5 ÿ 2 + d4 M 161 + Id3 ÿ 23 + d2 ÿ 22 + d1 ÿ 21 + d0 M 160
Exempel
10 ®
11 ®
01 = ®
01 ®
10 ®
11 ®
01 = 12314
EXEMPEL 4 1 101 1012 = 1 ®
EXEMPEL 5 1 101 1012 = 1 101
© 101
© = 001
© 101
© 101
© = 1558
EXEMPEL 6 1 101 1012 = 110 1101 = 0110 1101 = H6 dL16