Thema: Delphi Spezielle Festkommazahl?

Einzelnen Beitrag anzeigen

r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#14

Re: Spezielle Festkommazahl?

  Alt 22. Sep 2006, 14:44
Zitat von SnuffMaster23:
Das ganze kommt hinterher eh als Ganzzahl in einzelne Bytes, ich will nur etwas genauer rechnen:
1 => 255
0,5 => 127
0 => 0 *g*
Das hab ich jetzt nicht ganz verstanden. Das kommt eh in Bytes? Das sind dann doch deine Festkommas. Mit 8 Bit und Shift-Faktor 7. Wenn du aber genau rechnen willst(so versteh ich dich momentan), dann frag ich mich, warum du Festkomma nehmen willst. N Festkomma is net genauer als n Fließkomma. Die Genauigkeit bestimmt sich IMHO aus der Größe der Mantisse. Hier (bei nem Byte) hast du ne Mantisse von 8 Bit. Bei nem Single eine von 23 . Und bei nem Extended von 64. Wenn du n Festkomma-Integer nimmst(siehe mein Post oben) von 32 und wenn du statt dem Integer n Int64 nimmst, auch wieder 64. Jeweils is natürlich evtl. noch n Vorzeichen-Bit zu beachten...

Vielleicht sagst du uns mal, was du genau vor hast. Wo willst du denn nun genau, schnell oder speicherschonend sein...

Zitat von Khabarakh:
@r2c2: Ich habe von der Materie nicht viel Ahung, aber bist du mit deinem "Shift-Faktor" nicht wieder in den Bereich der Floatpoints gewandert ?
Bei ner Gleitkommazahl is IMHO Mantisse und Exponent für *jede* Zahl separat bestimmt. Bei ner Festkommazahl is der Shiftfaktor(= Exponent) für alle bzw. den gerade betrachteten Teil der Zahlen gleich. Dass der Shiftfaktor geändert wird, liegt daran, dass Festkomma * Festkomma keine Festkommazahl ergibt bzw. dass das, was rauskommt, n anderen Shiftfaktor hat(das is wie beim schriftlichen Multiplizieren in der Grundschule). Das Anpassen der Shiftfaktoren kann außerdem sinnvoll sein, wenn man z.B. 32-Bit-Werte in 16 Bit packen will. Einfach schieben und Shiftfaktor ändern. Klar is das ungenau, aber es ist die einzige Möglichkeit, wenn man nur 16 Bit-Ganzzahlen verarbeiten kann... Geht nu mal nich anders...

Auch hier gilt wieder: Ich hab das noch nie gemacht. Nur mal gesehen. Alle Angaben sind also wie immer ohne Gewähr, nachlesen können Sie die Lottozahlen... äh... Festkommazahlen und Gleitkommazahlen u.a. in der Wikipedia...

mfg

Christian

P.S.: Wenns dir wirklich auf die Geschwindigkeit ankommt, verabschiede dich vom Dividieren *halb im Spaß und halb im Ernst spricht*
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat