Maschinensprache- Binärcode Darstellung

Razorhawk

Webdesigner und MSP
Speicherbelegung: ein Beispiel

Maschinenbefehl:
60240 01100111 00000000 11101011 01000101

dekodiert: Maschinenbefehl SR C 0

ganze Zahl: 1728113477

intern dargestellt als:
01100111 00000000 11101011 01000101

reelle Zahl: 2^-50
(1+2^-8+2^-9 +2^-10+2^-12 +2^-14+
2^-15 + 2^-17 + 2^-21 + 2^-23)

intern dargestellt als:
01100111 00000000 11101011 01000101


Welcher Inhalt wird denn nun wirklich durch das
4-Byte-Wort
01100111 00000000 11101011 01000101
repräsentiert ?
 
Hallo!

Bei der von Neumann-Rechnerarchitektur (auf die die gänigen Rechner basieren) wird im Speicher nicht zwischen Daten und Maschinencode unterschieden. Du könntest also (zumindest theoretisch) ein Programm schreiben, dass dein 4-Byte-Wort einmal als Befehl, einmal als ganze Zahl und einmal als reele Zahl auffasst.

Es kommt also letztendlich nur darauf an, wie (bzw. wo) du dieses 4-Byte-Wort ausliest. Falls du C programmieren kannst, könntest du das Ganzzahl/Reall-Verhalten mal selbst ausprobieren (d.h. einen int-Zeiger in einen float-Zeiger umwandeln, und den Wert beobachten)
 
moin


Falls du C programmieren kannst, könntest du das Ganzzahl/Reall-Verhalten mal selbst ausprobieren (d.h. einen int-Zeiger in einen float-Zeiger umwandeln, und den Wert beobachten)
int nach float, kein Problerm.
float nach int, alles nach dem Komma bzw. Punkt wird abgeschnitten.


mfg
umbrasaxum
 
Nein, und das ist genau die Antwort auf die ursprüngliche Frage. Es wird beidesmal auf die gleiche Adresse verwiesen, die den gleichen Inhalt unterschiedlich interpretiert (einmal als int, einmal als float)
 
moin


Hatte grad falsch gedacht, wollte eher darauf hinaus das ein int (genauer unsigned int) gleich einem unsigned float ist.


mfg
umbrasaxum
 
Das heißt es komt dann letztendlich auf das Programm an, dass dem Betriebsystem sagt, dass dieser Binärcode nun Maschinensprache ist an der Speicherzelle und an einer anderen halt int bzw. float?
 

Neue Beiträge

Zurück