Domino 9 und frühere Versionen > ND8: Entwicklung
C-API: Datentyp FLOAT / NUMBER
(1/1)
inu:
Hallo Leute,
lt. C-API-Dokumentation ist doch der Datentyp FLOAT 64 bit lang:
"...The internal representation of this structure is EXACTLY the same as a 64-bit IEEE floating point number (defined by the Microsoft C compiler as "double")..."
Das selbe trifft lt. Dokumentation für den Datentyp NUMBER zu.
Jetzt habe ich in C mal folgendes probiert (64-bit-Umgebung; 64-bit-Kompilierung):
sizeof(FLOAT)
sizeof(NUMBER)
Dabei liefert ersteres einen Wert von 4 und letzteres einen Wert von 8 zurück. Kann sich das jemand erklären?
Hintergrund meiner Frage ist das Nutzen der Funktion NSFSearch (siehe http://atnotes.de/index.php/topic,50726.0.html) und der dabei angesteuerten Callbackfunktion, welche wiederum aus der DB alle Items ausliest. Als von der IBM mitgeliefertes Beispiel (samples/admin/find_dbs) wird hier u.a. folgender Quelltext verwendet:
...
#define NUMERIC_SIZE sizeof(FLOAT)
case TYPE_NUMBER:
memcpy (&numeric_item, summary_position, NUMERIC_SIZE);
sprintf (item_text, "%g", numeric_item);
break;
...
Viele Grüße
David
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln