16 svar
152 visningar
Cien 1188
Postad: 30 mar 2023 20:08

Talsystem

Vet inte riktigt om följande hör hemma under matematik. Läser en kurs i datorteknik där vi bla lär oss att omvandla mellan olika talsystem. Har lite svårt att avgöra när jag ska använda mig av division-tekniken.

Ska exempelvis omvandla 4516 till N2. Här verkar det inte funka med den tekniken.

452=22,R:1\dfrac{45}{2}=22,R:1

222=11,R:0\dfrac{22}{2}=11,R:0

112=5,R:1\dfrac{11}{2}=5,R:1

52=2,R:1\dfrac{5}{2}=2,R:1

22=1,R:0\dfrac{2}{2}=1,R:0

12=0,R:1\dfrac{1}{2}=0,R:1

Vilket ger oss 101101som verkar vara fel. Rätt svar 10010102.

Laguna Online 30484
Postad: 30 mar 2023 20:17

Men du arbetar med 4510, inte 4516.

Om det hade varit 4510 så hade det varit rätt, det du gör.

Cien 1188
Postad: 30 mar 2023 20:21
Laguna skrev:

Men du arbetar med 4510, inte 4516.

Om det hade varit 4510 så hade det varit rätt, det du gör.

Varför funkar inte denna metoden för hexadecimala talsystem?

Fermatrix 7841 – Fd. Medlem
Postad: 30 mar 2023 20:26

För att den metoden är avsedd för konvertering av bas 10 till bas 2, inte för bas 16.

Om du har något i bas 16, är det trivialt att omvandla till bas 8 och 2. 

Samma sak gäller ex om du har bas 2 och ska konvertera till 8 eller 16.


ett hexadecimalt tal kan representeras med 4 bitar. Detta är kraftfullt att veta.

Du har 45 hex, skriv om varje hex till binärt:

416=01004_{16} = 0100

516=01015_{16} = 0101

Nu erhålls: 4516=01000101245_{16} = 0100 0101_{2}

Laguna Online 30484
Postad: 31 mar 2023 10:49

Din metod fungerar, om du räknar helt och hållet i bas 16:

4516/2 = 2216, R : 1

2216/2 = 1116, R : 0

Så långt är det lika. Men nu:

1116/2 = 8, R : 1

Jag kanske har slarvat, men rätt svar borde inte kunna sluta med 0. Talet är ju udda.

Cien 1188
Postad: 1 apr 2023 15:45 Redigerad: 1 apr 2023 15:45
Dracaena skrev:

För att den metoden är avsedd för konvertering av bas 10 till bas 2, inte för bas 16.

Om du har något i bas 16, är det trivialt att omvandla till bas 8 och 2. 

Samma sak gäller ex om du har bas 2 och ska konvertera till 8 eller 16.


ett hexadecimalt tal kan representeras med 4 bitar. Detta är kraftfullt att veta.

Du har 45 hex, skriv om varje hex till binärt:

416=01004_{16} = 0100

516=01015_{16} = 0101

Nu erhålls: 4516=01000101245_{16} = 0100 0101_{2}

Har svårt att veta vilken metod jag ska använda och när mellan de olika omvandlingarna. Som i detta fallet du visar, jätte enkelt. Men omvandlar vi från 4510 så måste vi använda en helt annan metod.

Och vad menar du att hexadecimalt kan representerad med 4 bitar? är det inte 16 bitar?

Cien 1188
Postad: 1 apr 2023 16:19 Redigerad: 1 apr 2023 17:41

Det verkar som att varje gång vi omvandlar från ett decimaltal N10 till något med basen x Kx så kan vi alltid använda divisionmetoden. Där vi delar N med x. Stämmer det i allmänhet? 

Laguna Online 30484
Postad: 1 apr 2023 17:55 Redigerad: 1 apr 2023 17:56

Divisionsmetoden kan du alltid använda. Gör antingen om talet till bas 10 först, eller räkna helt och hållet i den givna basen.

Dracaena menade säkert att en hexadecimal siffra (0 till F) kan representeras med fyra bitar. Man kan göra som i exemplet, en siffra i taget.

 

Cien 1188
Postad: 1 apr 2023 17:57
Laguna skrev:

Divisionsmetoden kan du alltid använda.

Förutsatt att vi omvandlar från tal med basen 10?

Laguna Online 30484
Postad: 1 apr 2023 21:25

Nja, du kan genomföra divisionerna i en annan talbas, om du har koll. Det är inget speciellt med bas 10 mer än att vi är vana vid den.

Cien 1188
Postad: 1 apr 2023 21:57
Laguna skrev:

1116/2 = 8, R : 1

Förstår inte vad som händer här?

Laguna Online 30484
Postad: 1 apr 2023 22:02

1116 är 17.

Cien 1188
Postad: 1 apr 2023 22:08
Laguna skrev:

1116 är 17.

Menar du att 1116=1710? Förstår inte varför detta är relevant, vi ska ju omvandla till binärt?

Laguna Online 30484
Postad: 1 apr 2023 22:20

Dela 17 med 2. Det blir 8 med rest 1.

Cien 1188
Postad: 1 apr 2023 22:35
Laguna skrev:

Dela 17 med 2. Det blir 8 med rest 1.

Yes men undrar varför det blir 17? Jag förstår att 1116=1710 men varför ska vi dividera 17 (decimalt) med 2?

Laguna Online 30484
Postad: 2 apr 2023 10:39

Omvandla 4516 till bas 10 och använd divisionsmetoden.

Då kommer du till 17 efter några steg.

Fermatrix 7841 – Fd. Medlem
Postad: 2 apr 2023 12:25

Jag har inte själv provat men det borde fungera som Laguna nämner ovan. 

Cien, du verkar blanda hex med decimal.

Ex. 44 hex dividerat på 2 är inte 22. Då har du behandlat 44 som om det var i bas 10, dvs decimalt.

Hursomhelst är det egentligen ingen vits att lära sig denna metoden med annat än bas 10 då det är enkelt att konvertera mellan baserna 2,8,16. 

Svara
Close