008
01.05.2005, 00:04 Uhr
Pablo
Supertux (Operator)
|
Mit double habe ich keine Ahnung, so etwas (die Geschichte mit dem log) ist nicht möglich.
Ich denke, du einzige Form ist, wenn du Bit für Bit die Variable untersuchst, also unterusche die Exponente Bits und die Mantisse.
Übrigens, ich würde es so ändern:
C++: |
int totalDigits = (val < 0 ? 1 : 0) + 1 + (int)(log((double) abs(val))/log(10.0));
|
das abs(val) ist notwendig, oder hast du schon mal einen Logarithmus einer negativen Zahl gesehen, die in |R liegt? -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 01.05.2005 um 01:05 Uhr von Pablo editiert. |