Unterschied von "i" und "d"

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Sind beides für Integer gedacht.



    Treffend zitiert:


    They are the same when used for output, e.g. with printf, but different when used as input specifier e.g. with scanf, where %d scans an integer as a signed decimal number, but %i allows defaults to decimal but also allows hexadecimal (if preceded by "0x") and octal if preceded by "0".



    (Bei %i wird die Zahl als Hex-Dezimale angesehen.)
    Sollte informativ genug sein.

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Mein Informatik-Lehrer versucht mir krampfhaft einzuprügeln:


    I = Integer = Zahl die nicht über 33.333 sein kann.
    D = Double = Geht bis.. Unendlich.


    Allerdings machen wir VB 5.0 ... Damals war das vielleicht noch so.

  • Natürlich kann ein Integer über 33.333, sogar bis unendlich gehen @ChainzZ: o.o


    Der einzige Unterschied, den ich kenne, ist, dass mit %d sowas möglich ist:



    printf("%i",5);
    // PRINT = 5


    printf("%05d",5)
    // PRINT = 00005


    PS:
    Mal so nebenbei..
    'd' bedeutet "decimal" und nicht "double" ;)

  • Natürlich kann ein Integer über 33.333, sogar bis unendlich gehen


    Ein 32 Bit Integer kann sicherlich nicht bis "unendlich" gehen.
    Sonst bräuchte man auch keine 64bit Betriebssysteme-


    Ich meine gelesen zu haben, dass @BlackAce: gesagt hat, dass double weniger Speicher verbraucht.


    Ein double verbraucht weniger als ein integer?
    Das halt ich aber für ein Gerücht.
    Egal in welche Sprache wir uns befinden,
    ein Integer ist kleiner als ein double.


    double hat grobgesagt eine höhere Genauigkeit im Nachkomma Bereich als ein Float - sofern die Sprache Float überhaupt kennt.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Wie gesagt, ich war mir nicht mehr sicher, was du geschrieben hast, aber es war auf jeden Fall eine Antwort darauf, dass es einen Unterschied gibt, aber trotzdem danke. :)

  • also d bedeutet double und verbraucht nach meiner Programmiererfahrung (C++) 8 Bytes und i = integer verbraucht 4 Bytes. Und n bool verbrucht am Wenigsten wenns jemanden interessiert :D

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • also d bedeutet double und verbraucht nach meiner Programmiererfahrung (C++) 8 Bytes und i = integer verbraucht 4 Bytes.


    Wir sind hier aber in PAWN und nicht in C++


    Immernoch nicht...:pinch:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski