Hét vraag- en antwoordplatform van Nederland

Hoe kan ik 2C8 hexadecimaal omrekenen naar 8-tallig stelsel, voor mijn website??

Ik moet voor encryptie in mijn website 2C8 omrekenen naar een 8-tallig stelsel, maar ik wil het met de hand kunnen doen omdat ik wil weten hoe de methode werkt. Kan iemand mij stapsgewijs uitleggen hoe ik dat kan doen?

Verwijderde gebruiker
12 jaar geleden
in: Wiskunde
4.6K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Eigenlijk net als in het decimale stelsel. Daar betekent 425 hetzelfde als 4*10*10 + 2*10 + 5.

2C8 in het hexadecimale stelsel betekent dus, decimaal geschreven, 2*16*16 + 12*16 + 8. De C staat immers voor het decimale getal 12. 2C8 is dus decimaal 712.

Wil je dat omzetten naar het octale stelsel, dan moet je kijken hoevaak je het kunt delen door 8*8*8 (512 decimaal); dat blijkt 1 keer te kunnen. Het eerste octale cijfer is dus 1.

Nu trek je die 1*8*8*8 van de 712 af; je houdt 200 over. Hoe vaak past 8*8 in 200? Dat is 3 keer. Het volgende octale cijfer is dus 3.

Nu trek je die 3*8*8 van de 200 af; je houdt 8 over. Hoe vaak past 8 in 8? Dat is 1 keer. Het volgende octale cijfer is dus 1.

Nu trek je die 1*8 van de 8 af; je houdt 0 over. Hoe vaak past 1 in 0? Dat is 0 keer. Het volgende octale cijfer is dus 0.

Hexadecimaal 2C8 is dus octaal 1310.

Toegevoegd na 1 minuut:
 
In dit geval kun je het heel makkelijk controleren met de rekenmachine van Windows. Start de rekenmachine, zet hem in de wetenschappelijke stand (onder het menu Beeld), klik linksboven op Hex en typ 2C8 in. Klik nu linksboven op Oct en je ziet dezelfde waarde in octale notatie.

Toegevoegd na 7 minuten:
 
Ga je programmeren, dan doe je het als volgt.

Eerst hexadecimaal naar de waarde.

Stel de waarde op nul.
Zolang je hexadecimale getal nog cijfers bevat, doe je het volgende:
--  Vermenigvuldig de waarde met 16 (decimaal).
--  Tel de waarde van het eerste cijfer van het hexadecimale getal erbij op. 2=2, C=12, enzovoort.
--  Verwijder het eerste cijfer van je hexadecimale getal.

Dan waarde naar octaal.

Maak de octaalstring leeg.
Herhaal nu het volgende:
--  Reken waarde modulo 8 uit.
--  Voeg het resultaat als cijfer toe aan de linkerkant van de octaalstring.
--  Deel de waarde door 8; rond naar beneden af op een heel getal.
Dit herhaal je tot de waarde nul is.
(Lees meer...)
Cryofiel
12 jaar geleden
Verwijderde gebruiker
12 jaar geleden
Ok heel erg bedankt voor de uitleg. Blijkt heel makkelijk te zijn als je het eenmaal door hebt :)
Cryofiel
12 jaar geleden
Graag gedaan! Ik zie nu pas wat jouw gebruikersnaam is. Heeft die iets met deze vraag te maken? En hoezo 64263 (decimaal) dan wel 175407 (octaal)? ;-)
Verwijderde gebruiker
12 jaar geleden
Dammit dit zijn nou echt van die vragen in mijn straatje. Maar Cryo eet al de kaas van mn brood af!
Dikke +
Verwijderde gebruiker
12 jaar geleden
Uitdekunst. Prima inzichtelijk gemaakt.

Andere antwoorden (1)

Het antwoord van Cryofiel is helemaal goed.
Echter in plaats van het 10-tallig stelsel te gebruiken, kan je mijn inziens veel beter het 2 tallig stelsel gebruiken. Je moet dan de hexadecimale cijfers in 4 bits uitschrijven (zie tabel op onderstaande link): 0x2 = 0010, 0xC= 1100, 0x8=1000. Daarmee wordt je 0x2C8: 001011001000. Nu moet je van rechts naar links groepjes van 3 maken: 001 011 001 000 en deze als octale getallen schrijven: 001->1, 011->3, 001->1 en 000, dus geldt dat: 0x2CB = 1310 octaal = 01310.
Als je dit eenmaal doorhebt, dan schrijf je zo ieder willekeurig groot hexadecimaal getal zo om naar zijn octale variant. Als je aan de linkerkant cijfers te kort komt, dan worden dat nullen, dus 0x10 = 0001 0000 = 00 010 000 = 000 010 000 = 020 (via Cryofiel's methode: 0x10 = 16 = 020).
Let op: een 0x voor een getal geeft aan dat het hexadecimaal is, en alleen extra 0 voor een getal geeft aan octaal.
(Lees meer...)
Verwijderde gebruiker
12 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding