Zahlen umwandeln
-
Hallo Leute,
ich habe auf dem Gebiet noch etwas Schwierigkeiten.
Zunächst habe ich ein kleines Programm geschrieben, das mir eine Dezimalzahl in eine Hexadezimalzahl umwandelt, was ja nicht so schwer ist.#include <stdio.h> void main() { int dezimal; printf("Dezimalzahl eingeben: "); scanf("%d",&dezimal); printf("in Hexadezimal: %0x\n",dezimal); }
In der Aufgabenstellung steht, dass eine vorzeichenbehaftete Dezimalzahl eingelesen werden soll, in einer short Variablen gespeichert werden soll und das gespeicherte Bitmuster in hexadezimaler Form gemäß der vorzeichenlpsen Darstellung ausgegeben werden soll.
Wie ihr seht habe ich dezimal mit int statt mit short definiert, weil ich bei short eine Fehlermeldung beim Programm bekomme. Er kompiliert erfolgreich durch, aber wenn ich das Programm starte und z.B. die Zahl 10 eingebe kommt der Fehler
Run-Time Check Failure #2-stack around the variable 'dezimal' was corrupted
Ich verstehe dann nicht, warum in der Aufgabenstellung steht, man soll in einer short Variablen speichern.
Vielen Dank!