Ausgabe interpretieren

  • Hallo Leute,

    ich mal wieder mit paar Fragen...

    Ich habe einen Quellcode dessen Ausgabe ich verstehen muss.

    ich habe den so kompilieren lassen und versucht nachzuvollziehen.

    Ausgabe sieht so aus

    Zitat


    10 12 A
    0 48 0
    2 P (
    d a

    0.457 4.568e-001


    Die 1 Zeile mit der Ausgabe "10 12 A" kann ich nachvollziehen.
    Bei der 2. Zeile mit "0 48 0" kann ich dir ersten 2 Werte nachvolliehen. Also zuerst einfach die Ausgabe der Zahl 0, dann die Ausgabe der Dezimalzahl "48" in der ASCII Tabelle der Ziffer 0.
    Aber was bedeutet '\0', da ja "0" ausgegeben wird?!

    In der 3. Zeile wird zuerst Zeichen "2" an der Dezimalstelle 50 ausgegeben, dann das Zeichen "P" an der Hexzahlstelle 50.
    Und was bedeutet dann die '\50', dass "(" ausgegeben wird?

    Die 4. Zeile verstehe ich auch nicht bis auf die Ausgabe von "a", da ja einfach 'a' da steht.

    Die 5. Zeile mit der Ausgabe der Zahl kann ich auch nicht nachvollziehen. Ich weiß nur dass z.B. bei %8.3f die 3 für das Runden nach der dritten Nachkommastelle steht.


    danke fürs lesen.

  • 1. Das \0 Character ist ein besonderes Zeichen (wie alle Zeichen in einem char oder string, die mit \ eingeleitet werden), das üblicherweise dazu benutzt wird, einen String o.ä. als beendet zu erklären. Es hat den ASCII-Wert 0.

    2. ( ist 50(oktal). Mit \xyz (wo x, y, z elem 0..9) wird eine Oktalzahl angegeben.

    3. a ist ein int mit dem Wert 100. ASCII-Wert 100 ist ein 'd'.

    4. '\xa': \x ist für Hex-Zahlen. a ist (im Detail abhängig vom OS), als ob du Return drückst.

    5. %f Floatingpoint, %e Exponentialdarstellung.

    Das sind alles Dinge, die in jedem C-Anfänger-Buch stehen!

    Dipper dipper dii dipper dii dipper dii duuu

  • Danke zunächst!

    Bei Punkt 2 muss es doch heißen: x,y,z elem 0...7 oder?

    Das habe ich jetzt wirklich verschlafen mit der Oktaldarstellung, auch wenn ich sie bisher kaum verwendet habe.
    Aber \0 ist eigentlich ja dann eine "Oktalzahl", wo man auch mit dem character einen string beendet ?

    Zu 5 nochmal.
    %f Floatingpoint kenne ich bisher wo ich z.B. %.3f verwendet um beim Nachkomma zu runden. Aber was die 8 genau bewirkt weiß ich nicht. Ich sehe nur dass sich die Position der Zahl dann nach links oder rechts verschiebt bei der Ausgabe.

    Das gleiche Problem mit %e. .3 gibt die Rundung an, aber wenn ich die 10 verändert tut sich nichts. auch -001 bleibt gleich.

  • 1. Ja, du hast natürlich recht: Oktalzahlen setzen sich nur aus 0 .. 7 zusammen. Sorry, zu schnell geschrieben!

    2. Das gute an 0 ist aber, dass 0(dec) = 0(hex) = 0(oct) = 0(bin) :D

    3. Das andere gibt die Einrückung/Alignment ein, ja.

    Dipper dipper dii dipper dii dipper dii duuu

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!