Springen naar inhoud

Inhoud (hex) avr geheugen schrijven als decimaal getal


  • Log in om te kunnen reageren

#1

toosterloo

    toosterloo


  • 0 - 25 berichten
  • 1 berichten
  • Gebruiker

Geplaatst op 18 februari 2012 - 11:43

Hallo,

Ik ben even aan het stoeien met een opdracht om een unsigned integer van 2 bytes als decimaal.
Gegeven is het programmageheugen (hexadecimaal) 3C 4E 52 5A.
Deze inhoud moet ik schrijven als decimaal getal wanneer uitgegaan wordt van een unsigned integer van 2 bytes.

Ik heb de volgende uitwerkingen gemaakt.

Ik heb eerst de waarden geconverteerd van hexadecimaal naar decimaal.
3C = 60 (decimaal)
4E = 78 (decimaal)
53 = 83 (decimaal)
5A = 90 (decimaal)

Vervolgens heb ik deze waarden weer geconverteerd naar binair, achter elkaar geschreven en opgesplits in 2 gedeelten van 2 bytes (2x (2x8bits)).
00111100010011102 01010011010110102
Deze twee gedeelten heb ik toen weer geconverteerd van binair naar decimaal en bij elkaar opgeteld.
Hier staat volgens mij dus 15438 + 21338 = 3677610 als het gaat om een unsigned integer van 2 bytes.
Volgens mij staat hier hetzelfde getal wanneer uitgegaan wordt van een signed integer van 2 bytes omdat het tekenbit(eerste teken) in beide gevallen 0 is en dus positief.

Echter weet ik niet zeker of mijn beredenatie juist is.
In het boek waar wij mee werken staat hiervoor geen duidelijke toelichting hoe je dit omrekent.
Verder begrijp ik niet veel van hoe het op internet wordt toegelicht.

Alvast bedankt!

Met vr. Groet,

Thomas

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 18 februari 2012 - 12:03

Ik ben even aan het stoeien met een opdracht om een unsigned integer van 2 bytes als decimaal.
Gegeven is het programmageheugen (hexadecimaal) 3C 4E 52 5A.

In 4 bits kan ik 16 mogelijkheden beschrijven. Elke letter of elk cijfer is dus 4 bits. Elke twee karakters zijn dus een byte. Ik tel 4 paren van 2 karakters. Dat is dus 4 bytes... jij hebt het over 2... ?

Deze inhoud moet ik schrijven als decimaal getal wanneer uitgegaan wordt van een unsigned integer van 2 bytes.

Endianness?

Ik heb de volgende uitwerkingen gemaakt.

Ik heb eerst de waarden geconverteerd van hexadecimaal naar decimaal.
3C = 60 (decimaal)
4E = 78 (decimaal)
53 = 83 (decimaal)
5A = 90 (decimaal)

Vervolgens heb ik deze waarden weer geconverteerd naar binair

Converteren naar binair is niet nodig. En waarom zitten er '2'en in je binaire code?

Stel dat 5A het least significant byte is. In dit byte passen de waarden 0 tot 255. De waarden in het tweede byte (van achteren) is dan dus 256*{waarde tweede byte}. De waarde van het derde byte is dus 256*256*{waarde derde byte} en zo verder...





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures