Est-il possible d'exprimer l'infini (mathématique), positif ou négatif, en C#? Si c'est le cas, comment?Infini mathématique express en C#
Répondre
double.PositiveInfinity
double.NegativeInfinity
float zero = 0;
float positive = 1/zero;
Console.WriteLine(positive); // Outputs "Infinity"
float negative = -1/zero;
Console.WriteLine(negative); // Outputs "-Infinity"
public const double NegativeInfinity = -1.0/0.0;
public const double PositiveInfinity = 1.0/0.0;
Oui, vérifier les valeurs constantes de types float
et double
, comme:
float.PositiveInfinity
float.NegativeInfinity
Ces valeurs sont conformes aux IEEE-754, de sorte que vous pourriez voulez vérifier comment cela fonctionne exactement, de sorte que vous serez au courant, quand et comment vous pouvez obtenir ces valeurs tout en faisant des calculs. Plus d'info here.
Utilisez les PositiveInfinity
et NegativeInfinity
constantes:
double positive = double.PositiveInfinity;
double negative = double.NegativeInfinity;
regard ceci (juste retour ∞ positif-infini)
Remarques:
La valeur de cette constante est le résultat de la division un nombre positif par zéro. Cette constante est renvoyée lorsque le résultat d'une opération est supérieur à MaxValue. Utilisez IsPositiveInfinity pour déterminer si une valeur est évaluée à l'infini positif.
Donc, ceci sera égal à Infinity.
Console.WriteLine("PositiveInfinity plus 10.0 equals {0}.", (Double.PositiveInfinity + 10.0).ToString());
et maintenant négatif est
est retourné Cette constante lorsque le résultat d'une opération est inférieure à MinValue.
alors cela sera égal à Infinity.
Console.WriteLine("10.0 minus NegativeInfinity equals {0}.", (10.0 - Double.NegativeInfinity).ToString());
Référence: https://msdn.microsoft.com/en-us/library/system.double.negativeinfinity(v=vs.110).aspx
pourquoi ne pas vous venez de flotter positif = 1/0 ;? pourquoi l'étape supplémentaire – hhafez
Parce que le compilateur détectera la division par zéro et arrêtera la compilation. –
@Jaimal: C'est parce que le compilateur traite '1/0' comme une division entière. Utiliser '1/0f' ou' 1/0.0' fonctionnerait. – LukeH