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