Je testais ce qui était retourné de la division, y compris les zéros, c'est 0/1
-à- dire 1/0
et 0/0
. Pour cela, j'ai utilisé quelque chose de similaire à ce qui suit:
Console.WriteLine(1d / 0d);
Cependant, ce code n'imprime 8
pas Infinity
ou une autre constante de chaîne comme PositiveInfinity
.
Par souci d'exhaustivité, toutes les impressions suivantes 8
:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
Et des Console.WriteLine(Double.NegativeInfinity);
impressions -8
.
Pourquoi cet infini imprime-t-il 8?
Pour ceux d'entre vous qui semblent penser que c'est un symbole de l'infini et non un huit le programme suivant:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
Console.WriteLine(8);
Les sorties:
8
caractère Unicode réel , pas un étrange caractère pour l'infini, pivoté de 90 degrés? Cela pourrait changer en fonction de vos paramètres régionaux. Je l'ai essayé sur dotnetfiddle.net et il s'imprime Infinity
.
Double.PositiveInfinity.ToString()[0] == '8'
. Certains caractères exotiques ressemblent beaucoup à d'autres dans certaines polices. De plus, dans quelle langue votre ordinateur est-il configuré?
8
(langue allemande).
Console.Write("∞");
∞
c'est le signe de l'infini. il suffit de le retourner à 90 degrés pour le voir 8