Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2008-05-01, 15:54
  #1
Medlem
jabbe91s avatar
Hej! jag går EL Data och har en lektion som heter Digitalteknik, Just nu håller vi på med Talsystemet och nu på måndag måste alla kunna det. Det jag behöver hjälp med är att omvandla tex: hexa till oktalt och o s v.
Vi har fått lära oss en metod som är följande ex:
28(10) = (2) alltså 28 skrivet i decimalt till ett binärt tal
Våran lärare säger att vi ska först räkna ut till binärt tal sedan omvandla


Då har vi fått lära oss så här:

16 8 4 2 1
1 1 1 0 0 = 11100


När jag ska göra följande tal: FFE (16) =(10)
15 15 14

8 4 2 1 8 4 2 1 8 4 2 1
1 1 1 1 1 1 1 1 1 1 1 0 = 1111 1111 1110
Sen när man ska omvandla till hexa förstår inte jag inte mera. Snälla hjälp mig!w
Citera
2008-05-01, 16:10
  #2
Moderator
Ruskigbusss avatar
Decimala talsystemet, det som vi använder, har tio siffror (deci = hundra):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Binära talsystemet, har två siffror (bi=två):
0, 1

Hexadecimala talsystemet, har 16 siffror (hexa=16)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

A hexadecimalt motsvarar alltså 10 decimalt.
B motsv 11, C motsv 12, D motsv 13, E motsv 14, F motsv 15

Skälet till att man använder hexadecimala siffror är just för att dessa lätt kan översättas till binära.

0000 binärt = 0 hex = 0 dec
0001 binärt = 1 hex = 1 dec
0010 binärt = 2 hex = 2 dec

0011 binärt = 3 hex = 3 dec
0100 binärt = 4 hex = 4 dec
0101 binärt = 5 hex = 5 dec
0110 binärt = 6 hex = 6 dec
0111 binärt = 7 hex = 7 dec
1000 binärt = 8 hex = 8 dec
1001 binärt = 9 hex = 9 dec
1010 binärt = A hex = 10 dec
1011 binärt = B hex = 11 dec
1100 binärt = C hex = 12 dec
1101 binärt = D hex = 13 dec
1110 binärt = E hex = 14 dec
1111 binärt = F hex = 15 dec

Ser du de fetstilta raderna?

0001 = 1
0010 = 2
0100 = 4
1000 = 8

8+4+2+1=15 (1111 binärt)

Fortsätter man så får man
0001 0000 = 10 hex = 16 dec
0010 0000 = 20 hex = 32 dec
0100 0000 = 40 hex = 64 dec
1000 0000 = 80 hex = 128 dec
1111 0000 = F0 hex = 240 dec
1111 1111 = FF hex = 255 dec

I det decimala systemet så ökas värdet med en tiopotens för varje steg åt höger.

123 = 1 * 100 + 2 * 10 + 3 * 1 = 1*10^2 + 2*10^1 + 3*10^0

I det hexadecimalet så ökas värdet med en 16-potens:

123 hex = 1 * 16*16 + 2 * 16 + 3 * 1 = 1*16^2 + 2*16^1 + 3*16^0

Har du då t ex 28 decimalt så är detta samma som
28 = 16 + 12 = 10 hex + C hex = 1C hex

Åt andra hållet:
FFE hex = 1111 1111 1110 binärt = 15 * 16^2 + 15 * 16 + 14 = 15*256 + 15*16 + 14*1 = 3840 + 240 + 14 = 4094

Vet inte om jag gjorde det enklare eller krångligare.

(Oktalt - då har man bara sifforna 0,1,2,3,4,5,6,7 och man ökar med en åttapotens varje steg)
Citera
2008-05-01, 16:25
  #3
Medlem
jockelos avatar
Citat:
Ursprungligen postat av Ruskigbuss
(deci = hundra)

deci = tio ? Eftersom det är basen 10
Citera
2008-05-01, 16:28
  #4
Medlem
Citat:
Ursprungligen postat av jockelo
deci = tio ? Eftersom det är basen 10

eller tom så att deci betyder tiondel.

deca = 10 och hecta = 100.

http://en.wikipedia.org/wiki/SI_prefix
__________________
Senast redigerad av SMA 2008-05-01 kl. 16:30.
Citera
2008-05-01, 18:19
  #5
Moderator
Ruskigbusss avatar
Ja, tio förstås. Fick hjärnsläpp.
Citera
2008-05-01, 18:23
  #6
Medlem
Citat:
Ursprungligen postat av SMA
eller tom så att deci betyder tiondel.

deca = 10 och hecta = 100.

http://en.wikipedia.org/wiki/SI_prefix
Fast du gällde det "deci" i "decimal", inte prefixet som i "deciliter".
Citera
2008-05-01, 18:37
  #7
Medlem
För att omvandla mellan baser som är potenser av 2 (t.ex. binärt, oktalt och hexadecimalt) är det enklast att gå via binärt. I ett binärt tal kan man nämligen gruppera siffrorna (bitarna) och omvandla en grupp till en siffra i den andra basen.

Exempel:
Omvandla det binära talet 10010111 till hexadecimalt.
Gruppera bitarna i grupper om fyra bitar från höger (från det tänkta decimaltecknet): 1001 0111
Omvandla varje grupp till motsvarande hexadecimal siffra: 97

Exempel:
Omvandla det binära talet 10010111 till oktalt.
Gruppera bitarna i grupper om tre bitar från höger: 10 010 111
Omvandla varje grupp till motsvarande oktal siffra: 227

Omvänt exempel:
Omvandla det hexadecimala talet a4 till binärt.
Skriv om varje hexadecimal siffra till fyra bitar: 1010 0100
Ta eventuellt bort mellanslagen: 10100100

Mer avancerat exempel:
Omvandla det hexadecimala talet de4db33f till oktalt.
Skriv om varje hexadecimal siffra till fyra bitar:
1101 1110 0100 1101 1011 0011 0011 1111
Ta bort mellanslagen:
11011110010011011011001100111111
Gruppera bitarna i grupper om tre bitar från höger:
11 011 110 010 011 011 011 001 100 111 111
Omvandla varje grupp till en oktal siffra:
33623331477
Citera
2008-05-01, 18:46
  #8
Medlem
SparTyres avatar
Tänkte slänga in en fråga jag funderade på själv ett tag. När alla siffrorna tagit slut börjar man använda bokstäver som symboliserar nästa "siffra" i ledet.

11-bas: 0,1,2,3,4,5,6,7,8,9,A

Vad gör man egentligen när bokstäverna tar slut, speciellt då man inte verkar skilja på stora eller små bokstäver? Man räknar nog aldrig med så stora talbaser som 37-bas så det är nog mer teori. Eller är det mot matematikens regler att använda sig av mer än 20-bas?
Citera
2008-05-01, 19:04
  #9
Medlem
Citat:
Ursprungligen postat av SparTyre
Tänkte slänga in en fråga jag funderade på själv ett tag. När alla siffrorna tagit slut börjar man använda bokstäver som symboliserar nästa "siffra" i ledet.

11-bas: 0,1,2,3,4,5,6,7,8,9,A

Vad gör man egentligen när bokstäverna tar slut, speciellt då man inte verkar skilja på stora eller små bokstäver? Man räknar nog aldrig med så stora talbaser som 37-bas så det är nog mer teori. Eller är det mot matematikens regler att använda sig av mer än 20-bas?
I teorin kan man använda sig av 50 eller t.o.m. googolplex som bas, men det är knappast praktiskt möjligt.

Ett sätt man kan lösa det på är att representera siffrorna i lägre baser (hjälpbaser) och sätta parenteser kring varje siffra (eller åtminstone de som består av flera siffror i hjälpbasen). I basen 50 med hjälpbas 10 skulle man då ett tal kunna se ut så här: 3(47)(13)9. Detta betecknar talet 3*50^3 + 47*50^2 + 13*50 + 9.
Citera
2008-05-01, 20:45
  #10
Medlem
jabbe91s avatar
Okej! Tack manne1973! Nu förstår jag exakt hur man gör, Blev förvånad hur lätt det faktiskt var! Behöver bara hjälp med 2st exempel som jag inte förstår!

11,111 (2) =(10)
Och
101010101010(2)=(10)
Sen kan jag nog det tills på måndag
Citera
2008-05-01, 20:54
  #11
Medlem
jabbe91s avatar
Sitter nu och grublar över talet FFE som står i hexa och ska omvandlas till decimalt. Jag har kommit så här långt än så länge:
15 15 14
8 4 2 1 8 4 2 1 8 4 2 1
1 1 1 1 1 1 1 1 1 1 1 0 = 111111111110
Sen Hur gör jag sen`? för decimala är ju .... 125 28 64 32 16 8 4 2 1
Vet itne hur jag gör
Citera
2008-05-01, 21:31
  #12
Medlem
phunques avatar
Citat:
Ursprungligen postat av Ruskigbuss
Ja, tio förstås. Fick hjärnsläpp.
Umm, deci = tiondel.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback