Kürzlich wurde ich von this question verwirrt. Vielleicht, weil ich keine Sprachspezifikationen gelesen habe (es ist meine Schuld, ich weiß).Compiler und negative Zahlen Darstellungen
Der C99-Standard sagt nicht, welche negative Zahlenrepräsentation vom Compiler verwendet werden soll. Ich dachte immer, dass der einzig richtige Weg, negative Zahlen zu speichern, das Zweierkomplement ist (in den meisten Fällen).
Also hier ist meine Frage: Kennen Sie irgendeinen heutigen Compiler, der standardmäßig die Darstellung des Einerkomplements oder der Zeichengröße implementiert? Können wir die Standarddarstellung mit einem Compiler-Flag ändern?
Was ist der einfachste Weg zu bestimmen, welche Darstellung verwendet wird?
Und was ist mit C++ Standard?
mehr darüber in den Fragen lesen Ich denke, man könnte bestimmen, welche Implementierung durch Prüfen der binären eines signierten Wert für seine Darstellung verwendet wird, ähnlich wie endianness Kontrollen erledigt. Dies könnte wahrscheinlich in einer # define durchgeführt und zur Kompilierzeit ausgewertet werden. – slipperyseal
ich meine, wenn Sie dieses Problem in den letzten 6 Jahren nicht gelöst haben. : o – slipperyseal
[Ist ein Komplement ein echtes oder nur ein historisches Problem?] (https://stackoverflow.com/q/161797/995714) –