Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ueberlauf vermeiden

1 view
Skip to first unread message

Hartmut Goebel

unread,
Jan 29, 1992, 10:11:40 AM1/29/92
to
Hallo!

In ermangelung einer allgemeinen duetschspracheigen Programmier-Group
poste ich ahlt hier :-)

Es geht darum, dass ich folgende Berechnung duchfuehren will:

CARDINAL(part * 0FFFFH DIV all)

wobei part uns all LONGINT (32bir signed) sind, und CARDINAL 16bit
unsigned.
Weiterhin ist sichergestellt, dass part < all ist.

Wenn nun part > 08000H ist, erhalte ich bei part * 0FFFFH eine Ueberlauf,
weil ich min. 32 Bit braeuchte.

Wie kann ich diesen Ueberlauf umgehen?
Da ich das Ergebnis fuer einen Scrooler brauche, muss es nicht EAKT sein,
aber einigermassen richtig.

Ich hab schon mit rekursivem Aufruf nit modulo-Werten rumprobiert, aber
bin zu keinem Ergebniss gekommen.

Wer weiss hilfe?

Es muss aber ganzzahlige Arithmetik sein, weil die Routine schnell sein muss.

+++hartmut

--
_
| Zerberus: HAR...@ASN.ZER Fido: 2:246/12 IRC: Essich_ // Only Amiga |
| UseNet: htgo...@cip.informatik.uni-erlangen.de \X/ Oberon ZOC |

wd

unread,
Jan 30, 1992, 4:16:09 AM1/30/92
to
htgo...@faui09.informatik.uni-erlangen.de (Hartmut Goebel) writes:

[...Problem geloescht...]

>Es muss aber ganzzahlige Arithmetik sein, weil die Routine schnell sein muss.

Das eine muss mit dem anderen nichts zu tun haben... Auf einem
i860 z. B. kann Floating-Point-Arithemtik _schneller_ sein als
Integer-Rechnung (Ja, tukan _ist_ eine i860-Firebox).

Wolfgang

==================================================================
Name : Wolfgang Denk (+49)-89-68004-288
Company : PCS GmbH, Pfaelzer-Wald-Str. 36, 8000 Munich, Germany.
UUCP : ..[pyramid ;uunet!unido]!pcsbst!wd (PYRAMID PREFERRED!!)
DOMAIN : w...@pcsbst.pcs.[ COM From rest of world; DE From Europe ]
###################################################################
# "UNIX was not designed to stop you from doing stupid things, #
# because that would also stop you from doing clever things." #
# -- Doug Gwyn #
###################################################################

0 new messages