Kann man zwischen 0 und -0 unterscheiden?

Ich weiß, dass die integer-Werte 0 und -0 sind im wesentlichen die gleichen.
Aber, Frage ich mich, ob es möglich ist, zwischen Ihnen zu unterscheiden.

Zum Beispiel, wie weiß ich, ob eine variable zugewiesen wurde -0?

bool IsNegative(int num)
{
    //How ?
}

int num = -0;
int additinon = 5;

num += (IsNegative(num)) ? -addition : addition;

Ist der Wert -0 im Speicher hinterlegt ist, die in exakt der gleichen Weise wie 0?

Kommentare dem Thema
Für ganze zahlen gibt es keinen Unterschied. Kommentarautor: Maroun
Dies hängt von der Umsetzung, aber für Implementierungen, in denen int dargestellt in 2-Komplement (die bei weitem am häufigsten anzutreffen), 0 und -0 haben identische bitweisen Darstellungen. Kommentarautor: Mankarse
Auf eine 2-Komplement-Maschine gibt es keinen Unterschied bei der bit-Ebene. Kommentarautor: Marco A.
@VirtualSnake: Was bedeutet "Binär"? Es gibt tatsächlich, binäre Codierungen, für die es wird eine Unterscheidung zwischen -0 und 0. Vorzeichen und Größenordnung, zum Beispiel. Kommentarautor: Benjamin Lindley
@VirtualSnake Das ist richtig, wir reden über int. Siehe Ones " Komplement-Codierung. Kommentarautor: CiaPan

InformationsquelleAutor der Frage Filip Minx | 2015-04-30

Schreibe einen Kommentar