Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2013-09-03, 22:05
  #1
Medlem
rehyptols avatar
Hej!

Har fått ett par övningar att göra men har kört fast.

a) 011101 försökte göra om det till decimalatal och sedan därifrån göra det till oktala men det blir åt helvete.

Försöker bara lära mig principen, hjälp uppskattas som fan!
Citera
2013-09-03, 22:10
  #2
Medlem
adequates avatar
Att gå via decimal är bara omständigt, ett bättre knep är att dela upp strängen i substrängar om tre tecken, och konvertera dem en i taget. 000 är 0, 111 är 7 och däremellan är alla andra oktala siffror. För hex gör du likadant fast substrängarna är fyra tecken långa, där förstås 1111 är F.
Citera
2013-09-03, 22:29
  #3
Medlem
Visa hur du gör steg för steg. Det blir lättare att hjälpa till då.
Citera
2013-09-04, 00:06
  #4
Medlem
SilentVictorys avatar
Om du verkligen måste göra om decimalt till oktalt så är det lite omständligt, men inte omöjligt.
Förklaras bra här http://www.wikihow.com/Convert-from-Decimal-to-Octal

För att räkna ut det till decimalt så vet du att första biten är värt 2^0, andra biten 2^1, tredje biten 2^2 osv. Sen summerar du ihop dina värden.
Citera
2013-09-04, 20:02
  #5
Medlem
rehyptols avatar
Jag fick decimaltalet till 29 och oktaltalet till 25.

1 x 2^4
1 x 2^3
1 x 2^2
1 x 2^0

det är decimaltalet som blev 29.

sen 2 x 8^1 + 9 x 8^0

Det här är något helt nytt för mig men jag antar att jag är helt åt helvete med det.
Citera
2013-09-04, 21:41
  #6
Avstängd
Binärt
011101


Oktalt
011 101
0*2^2+1*2*^1+1*2^0 1*2^2+0*2^1+1*2^0
0+2+1 4+0+1
3 5
svar = 35


Hexadecimalt
011101
00011101 <--- sätter två nollor framför för att få två grupper om fyra tecken.
0001 1101
0*2^3+0*2^2+0*2*^1+1*2^0 1*2^3+1*2^2+0*2*^1+1*2^0
0+0+0+1 8+4+0+1
1 13=D
svar = 1D

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F


Har jag gjort rätt?
Citera
2013-09-05, 06:10
  #7
Medlem
rehyptols avatar
Citat:
Ursprungligen postat av xrad
Binärt
011101


Oktalt
011 101
0*2^2+1*2*^1+1*2^0 1*2^2+0*2^1+1*2^0
0+2+1 4+0+1
3 5
svar = 35


Hexadecimalt
011101
00011101 <--- sätter två nollor framför för att få två grupper om fyra tecken.
0001 1101
0*2^3+0*2^2+0*2*^1+1*2^0 1*2^3+1*2^2+0*2*^1+1*2^0
0+0+0+1 8+4+0+1
1 13=D
svar = 1D

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F


Har jag gjort rätt?

Ja du har gjort, så det där mellanslaget mellan de binära talen spelade roll.
Citera
2013-09-05, 16:53
  #8
Medlem
rehyptols avatar
Behöver hjälp med hur man ska omvandla 94D till oktala tal, är det rätt att man omvandlar först till binärtal och sen till oktal tal?

Finns det inget lättare sätt att omvandla decimaltal till binär förutom att dela med 2 tills man inte får någon rest?

Jag hade tänkt och omvandla 9413 till binär men det tar ju så jävla lång tid måste väl finnas något bättre sätt?
Citera
2013-09-05, 17:35
  #9
Medlem
adequates avatar
Citat:
Ursprungligen postat av rehyptol
Behöver hjälp med hur man ska omvandla 94D till oktala tal, är det rätt att man omvandlar först till binärtal och sen till oktal tal?
Det är nog det smidigaste sättet. Tror det var så jag fick lära mig iaf.
Citat:
Ursprungligen postat av rehyptol
Finns det inget lättare sätt att omvandla decimaltal till binär förutom att dela med 2 tills man inte får någon rest?

Jag hade tänkt och omvandla 9413 till binär men det tar ju så jävla lång tid måste väl finnas något bättre sätt?
Nä, tio är en jävla skitbas. Vi borde ha fötts med åtta eller sexton fingrar istället. Möjligen tolv, men inte tio.
Citera
2013-09-05, 17:48
  #10
Medlem
rehyptols avatar
Citat:
Ursprungligen postat av adequate
Det är nog det smidigaste sättet. Tror det var så jag fick lära mig iaf.

Nä, tio är en jävla skitbas. Vi borde ha fötts med åtta eller sexton fingrar istället. Möjligen tolv, men inte tio.

Okej tack att du klargjorde det i alla fall, men jag behöver hjälp med 2 tal om det går bra.

10 1001.001 ska omvandlas till oktal och hexadecimalt.

Jag delade upp den i 3 olika strängar såhär ; |101|001|,001| som jag fick till 1 4 och sen någonting efter kommatecknet som blev fel.

Jag får problem när man kommer till efter kommatecknet.

sen 9E.7A som ska skrivas till oktal tal, jag gjorde om det till binärtal vilket blev |001|001|111|0.01|111|010 delade upp det i olika strängar men sen vet jag inte.


tyckte det här var skitsvårt.
Citera
2013-09-05, 18:06
  #11
Medlem
adequates avatar
Citat:
Ursprungligen postat av rehyptol
Okej tack att du klargjorde det i alla fall, men jag behöver hjälp med 2 tal om det går bra.

10 1001.001 ska omvandlas till oktal och hexadecimalt.

Jag delade upp den i 3 olika strängar såhär ; |101|001|,001| som jag fick till 1 4 och sen någonting efter kommatecknet som blev fel.

Jag får problem när man kommer till efter kommatecknet.

sen 9E.7A som ska skrivas till oktal tal, jag gjorde om det till binärtal vilket blev |001|001|111|0.01|111|010 delade upp det i olika strängar men sen vet jag inte.


tyckte det här var skitsvårt.
Ah, decimaler. Det är tyvärr bortom mitt kunskapsområde.
Citera
2013-09-05, 19:21
  #12
Medlem
klasklätters avatar
Citat:
Ursprungligen postat av rehyptol
Okej tack att du klargjorde det i alla fall, men jag behöver hjälp med 2 tal om det går bra.

10 1001.001 ska omvandlas till oktal och hexadecimalt.

Jag delade upp den i 3 olika strängar såhär ; |101|001|,001| som jag fick till 1 4 och sen någonting efter kommatecknet som blev fel.

Jag får problem när man kommer till efter kommatecknet.

sen 9E.7A som ska skrivas till oktal tal, jag gjorde om det till binärtal vilket blev |001|001|111|0.01|111|010 delade upp det i olika strängar men sen vet jag inte.


tyckte det här var skitsvårt.

Då får du bestämma dig hur du ska representera talet.
excess–127 kan du använda, och sedan göra om din binära sträng till ett oktalt tal.

Men med tanke på vilken nivå de tidigare uppgifterna var på är det inte omöjligt att det är tryckfel eller något liknande. Kan det vara så?

edit:
Läsning
http://en.wikipedia.org/wiki/IEEE_fl...point_standard
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