Zitat von
Amateurprofi:
Ich halte mich bei solchen Problemen gern an die Intel-Konventionen, die u.a. bei Integer-Typen einen Indefinite-Wert vorsehen.
Ein Indefinite ist ein Integerwert, bei dem nur das höchste Bit = 1 und alle anderen Bits = 0 sind.
Wer das für unsinnig hält der versuche mal einen solchen Wert mit Abs(x) oder mit x:=-x in einen positiven Wert umzuwandeln.
Das IST Unsinn. Z.B. 16bit-Integer ist definiert als -32768 ... 32767 (mit Vorzeichen) oder 0 ... 65535 (ohne), bei Integern sind alle möglichen Bitmuster gültig. Nach deiner Definition hätte ein 16bit unsigned int mitten im Zahlenraum ein Loch bei 32768!!!
Steht so in allen Lehrbüchern und in der Delphihilfe, und alle Compiler arbeiten auch so, in jeder Programmiersprache, die je erfunden wurde.
Wahrscheinlich hast du das mit einer Real-Darstellung verwechselt, da gibt es tatsächlich NaNs (Not a Number).
Gruss Reinhard