Ergebnis 1 bis 2 von 2

Thema: C++, Ausgabe von Speicherinhalt, auch als Hexdump bekannt.

  1. #1
    Unregistriert
    Gast

    Standard C++, Ausgabe von Speicherinhalt, auch als Hexdump bekannt.

    Hallo,

    ich bin fast am verzweifeln, ich probiere schon das halbe Pfingstwochenende an dieser Aufgabe rum:

    Ziel ist es, den Inhalt des Arrays "zahlen" an der Stelle "//HIER" in der gezeigten Hexadezimaldarstellung anzugeben. Dazu denke man sich eine fiktive Startadresse aus. Z.B 0x000. Nun ueberlege man sich, welche Werte in "zahlen" stehen. Diese wandele man anschliessend in die Hexadezimaldarstellung um. Achtung: "zahlen" ist vom Typ "int". Ein Element nimmt also 4 Byte in Anspruch. Das heisst fuer jedes Element von "zahlen" sind vier Hexadezimalzahlen mit jeweils zwei Ziffern notwendig, da diese jeweils ein Byte darstellen. Ferner ist darauf zu achten, dass es sich um ein LSB-first Speichermodell handelt.

    Code:
    int main() 
    {
    	unsigned int zahlen[7]; 
    	unsigned int index; 
    	for (index=0; index < 7; index++) 
    		zahlen[index] = index+1; 
    	
    	unsigned int *eine_zahl = &(zahlen[2]); 
    	unsigned int *andere_zahl = &(eine_zahl[4]); 
    	cout << &(zahlen[2]) << "\n";
    	eine_zahl--;
    	(*eine_zahl)++; 
    	(*andere_zahl) += 3; 
    	andere_zahl -= 3; 
    // HIER
    return 0; 
    }
    Bitte stellen Sie eine mögliche Speicherbelegung an der Stelle "HIER" durch die obigen Code da. Verwenden Sie dabei eine Ansicht wie die in der Vorlesung behandelte (Stichwort "hex dump"), wie hier:
    0x0000 33 3A 20 44 61 74 65 6E 20 69 6D 20 53 70 65 69
    0x0010 63 68 65 72 2C 20 41 72 72 61 79 73 2C 20 50 6F
    0x0020 69 6E 74 65 72 0A

    Dabei ist rechts die Speicheradresse angegeben, und links stehen 0x10 (also 16) an dieser Adresse anfangende Bytes, die jeweils durch 2 Hexadezimalziffern dargestellt werden. Die Maschine, auf der der Programmcode laufen soll, hat eine 32-Bit-Architektur und verwendet ein "LSB first"- Speichermodell.


    Kann mir da bitte jemand ein wenig helfen? Mein C++ Buch "C++ Einführung und professionelle Programmierung" hilft mir nicht weiter.


    Viele Grüße
    Matthias
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von The User (02.06.2009 um 11:54 Uhr) Grund: [code]-Verwendung und Sonderzeichen in falscher Kodierung

  2. #2
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++, Ausgabe von Speicherinhalt, auch als Hexdump bekannt.

    Adresse ausgeben ist ja schonmal simpel:
    Code:
    #include <iostream>
    #include <iomanip>
    #include <cstdint>
    using namespace std;
    
    int main()
    {
            unsigned int zahlen[7] = { 1, 2, 11, 12, 21, 22, 31 };
            cout << hex << setfill('0');
            for(size_t i = 0; i != 7; ++i) // <-- So sieht eine For-Schleife für Arrays richtig aus!
            {
                    cout << &(zahlen[i]);
                    unsigned int x = zahlen[i];
                    for(short j = 0; j != __WORDSIZE / 8; ++j)
                    {
                            cout << " " << setw(2) << (x % 256);
                            x >>= 8;
                    }
                    cout << endl;
            }
    }
    Funktioniert.

    Viele liebe Grüße
    The User
    Geändert von The User (02.06.2009 um 12:29 Uhr) Grund: Funktioniert!

Ähnliche Themen

  1. Website bekannt machen...
    Von Noch Keiner im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 2
    Letzter Beitrag: 20.02.2008, 21:37
  2. Bekannt werden!!
    Von happydjmicky im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 2
    Letzter Beitrag: 18.02.2008, 16:52
  3. Website bekannt machen
    Von barbarossa im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 11.01.2008, 16:50
  4. Wie bekannt machen
    Von im Forum Promotion - SEO - Suchmaschine (Google & Co) – Mitarbeiter & Linkpartnersuche
    Antworten: 10
    Letzter Beitrag: 17.08.2006, 02:52
  5. HP bekannt machen
    Von eraserx im Forum HTML & CSS Forum
    Antworten: 9
    Letzter Beitrag: 11.07.2004, 02:37

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •