Integer Division Rundung mit Negativen in C ++

Angenommen a und b sind beide vom Typ intund b ungleich null ist. Betrachten Sie das Ergebnis der Durchführung a/b in den folgenden Fällen:

  1. a und b sind beide nicht negative.
  2. a und b sind beide negativ.
  3. Genau eine von Ihnen negativ ist.

In Fall 1 das Ergebnis gerundet auf die nächste Ganzzahl. Aber was macht der standard-sagen über die Fälle 2 und 3? Einen alten Entwurf fand ich schwimmend im Internet zeigt, dass es ist von der Implementierung abhängig (ja, auch Fall 2) der Ausschuss ist jedoch der Neigung zu machen ist es immer " Runde gegen null.' Weiß jemand, was die (aktuellen) standard sagt? Bitte beantworten Sie nur die auf dem standard basieren, nicht was Sinn macht oder was bestimmte Compiler tun.

InformationsquelleAutor der Frage | 2008-11-26

Schreibe einen Kommentar