Neuer Thread
Ansicht umschalten Baum an
Avatar von T-M
  • T-M

1 Beitrag seit 17.01.2010

Nicht alle Programmiersprachen ignorieren negative Zahlen bei der division.

Ich möchte nur mal kurz darauf hinweisen, dass Seed7
(siehe: http://seed7.sourceforge.net ) zwei Arten von Ganzzahldivision und zwei
Arten von Rest bei Ganzzahldivision kennt. Die folgenden Operatoren werden
verwendet: div, mdiv, rem, mod

div Ganzzahldivision mit Abrunden Richtung 0
mdiv Ganzzahldivision mit Abrunden Richtung -unendlich
rem Rest bei Division mit div
mod Rest bei Division mit mdiv

Es gibt eine kleine Tabelle, die dieses Verhalten beschreibt:
http://seed7.sourceforge.net/manual/types.htm#div_rem_mdiv_mod_tables

Die Division mit mdiv durch eine Zweierpotenz entspricht einem right shift
auch bei negativen Zahlen.
Die modulo operation mit mod durch eine Zweierpotenz entspricht dem
nehmen der unteren bits (auch für negative Zahlen).
Die entsprechenden Optimierungen werden vom Seed7 Kompiler
gemacht. Man muss also nicht shift Operatoren wegen der Performance
nutzen.

Grüsse,
Thomas Mertes

--
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.

Bewerten - +
Anzeige