Permalänk

Konvertering av talsystem

Finns det ingen enkel regel eller formel som man kan använda för att omvandla det decimala talsystemet till oktala och tvärtom?

Skulle behöver veta just för oktala. Hur man kan omvandla decimaltal till oktal, och tvärtom. Jag behöver bara kunna göra omvandlingen, jag behöver inte veta mer än så. Jag håller ändå inte på med detta så mycket.

Visa signatur

"Good teaching is one-fourth preparation and three-fourths pure theatre."—Gail Godwin
Sweclockers BB kod
0101001101000111

Permalänk
Medlem

Räcker det inte med att göra det i kalkulatorn som är inbyggd i windows?

Visa signatur

Sveriges största guide till tv-serier - http://www.tv-serieguiden.com/

Permalänk
Medlem

De flesta språk brukar ha någon inbyggd funktion för att omvandla mellan textsträngar och heltal i olika baser.

Finns bra räkneexempel här att utgå från om man ändå vill skriva en egen funktion: http://susning.nu/Talsystem

Permalänk
Medlem

Vi säger att vi har talet 0257. Då gör vi så här

2*8^2 + 5*8^1 +7*8^0

. Svårare än så är det inte.

Permalänk
Citat:

Ursprungligen inskrivet av Dj_majm
Räcker det inte med att göra det i kalkulatorn som är inbyggd i windows?

Nej det ska helst ske rent matematiskt.

Citat:

Ursprungligen inskrivet av Vijjje
Vi säger att vi har talet 0257. Då gör vi så här

2*8^2 + 5*8^1 +7*8^0

. Svårare än så är det inte.

Vad är 0257 för tal? Det är ovanligt att heltal börjar med noll, och den är inte ens gällande siffra. Nåja, vad får du det till att bli?

2*8^2 = 128
5*8^1 = 40
7*8^0 = 7

Summan av produkterna blir 175

Alltså är 257 (dec) = 175 (okt), vilket inte stämmer. Det ska vara 401.

Visa signatur

"Good teaching is one-fourth preparation and three-fourths pure theatre."—Gail Godwin
Sweclockers BB kod
0101001101000111

Permalänk
Medlem

Det var såklart tvärtom, 175 i basen 10 är 257 i basen 8.

Permalänk
Citat:

Ursprungligen inskrivet av ElectroGeeza
Vad är 0257 för tal? Det är ovanligt att heltal börjar med noll, och den är inte ens gällande siffra. Nåja, vad får du det till att bli?

2*8^2 = 128
5*8^1 = 40
7*8^0 = 7

Summan av produkterna blir 175

Alltså är 257 (dec) = 175 (okt), vilket inte stämmer. Det ska vara 401.

Man specificerar i programmeringssammanhang att ett tal är oktalt genom att inleda med en nolla.

035 == 29 # Oktalt 35 == 35 # Decimalt 0x35 == 53 # Hexadecimalt

Citat:

Ursprungligen inskrivet av ElectroGeeza
Nåja, vad får du det till att bli?

2*8^2 = 128
5*8^1 = 40
7*8^0 = 7

Summan av produkterna blir 175

Alltså är 257 (dec) = 175 (okt), vilket inte stämmer. Det ska vara 401.

Det där exemplet visar att 257 (okt) = 175 (dec).

[EDIT] http://sv.wikipedia.org/wiki/Oktala_talsystemet

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ElectroGeeza
Vad är 0257 för tal? Det är ovanligt att heltal börjar med noll, och den är inte ens gällande siffra. Nåja, vad får du det till att bli?

Oktala tal skrivs ofta med en nolla i början för att skilja dem från decimala tal, hexadecimala tal skrivs med 0x i början. T ex 0x7D5 = 03725 = 2005.

Konvertering till oktal kan göras på följande sätt:

2005 / 8 = 250 med 5 som rest, första siffran är 5
250 / 8 = 31 med 2 som rest, andra siffran är 2
31 / 8 = 3 med 7 som rest, tredje siffran är 7
3 / 8 = 0 med 3 som rest, fjärde siffran är 3
färdigt, 2005 = 03725

Hexadecimalt:

2005 / 16 = 125, rest 5
125 / 16 = 7, rest 13 (D)
7 / 16 = 0, rest 7
färdigt, 2005 = 0x7D5

Decimalt:

2005 / 10 = 200, rest 5
200 / 10 = 20, rest 0
20 / 10 = 2, rest 0
2 / 10 = 0, rest 2
färdigt, 2005 = 2005

Permalänk

Den välkända formeln karlsson visade tänkte jag också skriva, men jag kunde inte få till oktalt till decimalt.
Något som kan göra det utan att fuska och först göra om talet till en textsträng, och sedan prata om positioner på "siffrorna".
*edit* Alltså typ karlssons lösning fast okt till dec.
*edit2* Till trådskaparen, skall du programmera en matematisk lösning så är det karlssons du skall använda för dec till okt.
Använder du typomvandlingar (tal->text), så kan man likaväl använda den färdiga talbasomvandlaren (okt->dec).

Beror iofs på orsaken till varför du ville göra det matematisk. Stöder ej språket talomvandlingen okt till dec så är det helt okej med den andra metoden.

Visa signatur

[Core i7-3930K med 32GB ram, 2*256GB SSD] & [Core i7 3770K med 16 GB RAM, 256GB SSD] som tillsammans har ett [HD 5850 1GB] och 3st 24".

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Karlsson
Oktala tal skrivs ofta med en nolla i början för att skilja dem från decimala tal, hexadecimala tal skrivs med 0x i början. T ex 0x7D5 = 03725 = 2005.

Konvertering till oktal kan göras på följande sätt:

2005 / 8 = 250 med 5 som rest, första siffran är 5
250 / 8 = 31 med 2 som rest, andra siffran är 2
31 / 8 = 3 med 7 som rest, tredje siffran är 7
3 / 8 = 0 med 3 som rest, fjärde siffran är 3
färdigt, 2005 = 03725

Hexadecimalt:

2005 / 16 = 125, rest 5
125 / 16 = 7, rest 13 (D)
7 / 16 = 0, rest 7
färdigt, 2005 = 0x7D5

Decimalt:

2005 / 10 = 200, rest 5
200 / 10 = 20, rest 0
20 / 10 = 2, rest 0
2 / 10 = 0, rest 2
färdigt, 2005 = 2005

Oktalt:

11 111 010 101
3725

Hexadecimalt:
111 1101 0101
7D5

Visa signatur

flippy @ Quakenet

Permalänk
Citat:

Ursprungligen inskrivet av roofa
Det var såklart tvärtom, 175 i basen 10 är 257 i basen 8.

Jaha okej, det var alltså från oktalt till decimalt. Hur gör man då om från decmalt till oktalt?

EDIT: Ojdå, jag såg inte att ni hade svarat, glömde uppdatera sidan. Tack till alla som har svarat.

Visa signatur

"Good teaching is one-fourth preparation and three-fourths pure theatre."—Gail Godwin
Sweclockers BB kod
0101001101000111

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ElectroGeeza
Jaha okej, det var alltså från oktalt till decimalt. Hur gör man då om från decmalt till oktalt?

http://susning.nu/Talsystem

den har redan postats i tråden

Visa signatur

flippy @ Quakenet

Permalänk
Citat:

Ursprungligen inskrivet av ante84
http://susning.nu/Talsystem

den har redan postats i tråden

Som sagt, jag såg inte att ni hade svarat, glömde uppdatera sidan. Men tack för tipset.

Visa signatur

"Good teaching is one-fourth preparation and three-fourths pure theatre."—Gail Godwin
Sweclockers BB kod
0101001101000111