Stavo testando ciò che è stato restituito dalla divisione compresi gli zero 0/1
, 1/0
e cioè 0/0
. Per questo ho usato qualcosa di simile al seguente:
Console.WriteLine(1d / 0d);
Tuttavia questo codice 8
non stampa Infinity
o qualche altra costante stringa come PositiveInfinity
.
Per completezza tutte le seguenti stampe 8
:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
E Console.WriteLine(Double.NegativeInfinity);
stampe -8
.
Perché questo infinity stampa 8?
Per quelli di voi che sembrano pensare che questo sia un simbolo di infinito e non un otto il seguente programma:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
Console.WriteLine(8);
Uscite:
8
e proprio personaggio Unicode per l'infinito, ruotato di 90 gradi? Questo potrebbe cambiare in base alla tua lingua. L'ho provato su dotnetfiddle.net e stampa Infinity
.
Double.PositiveInfinity.ToString()[0] == '8'
. Ci sono alcuni personaggi esotici che sembrano molto simili ad altri in alcuni caratteri. Inoltre, in quale lingua è configurato il tuo computer?
8
(locale tedesco).
Console.Write("∞");
∞
è il segno dell'infinito. basta capovolgerlo di 90 gradi per vederlo 8