Hey, ích frage mich schon länger was der unterschied von "i" und "d" ist ?
Beispiel:
if(sscanf(params,"d",id))return ...
und
if(sscanf(params,"i",id))return ...
Hey, ích frage mich schon länger was der unterschied von "i" und "d" ist ?
Beispiel:
if(sscanf(params,"d",id))return ...
und
if(sscanf(params,"i",id))return ...
Oh, stimmt. Tut mir leid,
Ich meine gelesen zu haben, dass @BlackAce: gesagt hat, dass double weniger Speicher verbraucht.
Ich kann mich aber auch geirrt haben. (Auf jeden Fall hat er einen Unterschied verdeutlicht. ^^)
Ich könnte mir vorstellen das i ein integer ist und d ein double.
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.
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.
Alles anzeigen
Ein 32 Bit Integer kann sicherlich nicht bis "unendlich" gehen.
Sonst bräuchte man auch keine 64bit Betriebssysteme-
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.
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.
Ein 32 Bit Integer kann sicherlich nicht bis "unendlich" gehen.
Sonst bräuchte man auch keine 64bit Betriebssysteme.
Meine ja nicht wortwörtlich bis unendlich
Aber auf jedenfall groß genug, dass man den eig. immer nutzen kann (auf jedenfall größer als 33.333).
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
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...