Warum ist ein Vorzeichenüberlauf aufgrund der Berechnung in C++20 immer noch ein undefiniertes Verhalten?C++

Programme in C++. Entwicklerforum
Anonymous
 Warum ist ein Vorzeichenüberlauf aufgrund der Berechnung in C++20 immer noch ein undefiniertes Verhalten?

Post by Anonymous »

Ich habe durch diese Antwort erfahren, dass:

Vorzeichenüberlauf aufgrund von Berechnungen in C++20 immer noch undefiniertes Verhalten ist, während Vorzeichenüberlauf aufgrund von Konvertierungen in C++20 gut definiert ist (die Implementierung für Pre-C++20 definiert wurde).

Und Diese Änderung des vorzeichenbehafteten Überlaufs aufgrund der Konvertierung ist darauf zurückzuführen, dass Compiler ab C++20 das Zweierkomplement verwenden müssen.
Meine Frage lautet:
Wenn Compiler ab C++20 das Zweierkomplement verwenden müssen, warum ist dann der vorzeichenbehaftete Überlauf aufgrund der Berechnung nicht genauso genau definiert wie der vorzeichenbehaftete Überlauf aufgrund der Konvertierung?
Das heißt, warum (wie) gibt es einen Unterschied zwischen Überlauf aufgrund der Berechnung und Überlauf aufgrund der Konvertierung. Im Wesentlichen, warum diese beiden Arten von Überläufen unterschiedlich behandelt werden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post