Frage zu Source Code



  • Ich möchte die Zahl 7fff ausgeben lassen aber der Compiler sagt immer:

    Ungültiges Zahlenformat und Fehler in der Deklarationssyntax 😞

    #include <iostream>
    
    using namespace std;
    
    int main()
    
    {
    
    const short shortValue = 7fff;
    
    cout<<shortValue;
    
    system("PAUSE");
    
    }
    


  • 0x7fff



  • Hi,

    #include <iostream>
    
    using namespace std;
    
    int main()
    
    {
    
    const short shortValue = 0x7fff;
    
    cout << hex << shortValue << endl;
    
    }
    


  • Dann gibt das Programm folgendes aus
    32767

    Ich schreib mal die aufgaben Stellung mit dazu:

    Die Übung:

    Definieren Sie eine short Variable shortValue und initialisieren diese bei ihrer Definition mit dem Hex-Wert 7fff.

    Geben Sie die short Variable in dezimal aus.

    Definieren Sie eine char Variable charValue und weisen Sie ihr die Variable shortValue zu.

    Definieren Sie eine long Variable longValue und weisen Sie ihr die Variable shortValue zu.

    Geben Sie die char Variable und long Variable in dezimal aus. Welche Werte erhalten Sie und warum?

    Hab das aus diesem Tutorial: http://www.cpp-tutor.de/cpp/le02/le02_03.htm

    Das Programm:
    Ja das sollen Sie jetzt selbst schreiben. Wenn Sie die CD-ROM Version des Kurses besitzen, so finden Sie die Lösung unter loesungen\le02\Lzuweis

    Dummer weisse habe ich diese CD-ROM nicht da ich den Kurs auch nur von der HP kenne. 😞



  • 32767 in Dezimal = 7fff in Hex

    ist schon recht so



  • Hi,

    das hex in...

    cout << hex << shortValue << endl;

    hast du aber schon gesehen, oder?



  • ok thx jetzt gehts 🙂



  • Es geht doch hier rein darum, welche Ausgabe man erhält wenn man die Variable vom Typ short Variablen mit verschiedenen Datentypen zuweist:

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    short shortValue = 0x7fff;
    
    cout << shortValue << endl;
    
    char charValue = shortValue;
    long longValue = shortValue;
    
    cout << charValue << endl;
    cout << longValue << endl;
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Ausgabe:

    32767
    
    32767
    Press any key to continue...
    

    Faszit: Eine Variable vom Typ char (1Byte/-128 bis +128 bzw. 0 bis 255) nimmt die Zahl 32767 nicht korrekt auf!

    Bei short ist der Bereich bei 32767 zu Ende. 7fff geht also gerade noch rein!

    mfg


Anmelden zum Antworten