Laden...

Division durch 0 als double bringt ein Ergebnis, keinen Fehler wie bei int

Erstellt von LeitHai vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.600 Views
L
LeitHai Themenstarter:in
4 Beiträge seit 2019
vor 4 Jahren
Division durch 0 als double bringt ein Ergebnis, keinen Fehler wie bei int

Hallo zusammen,

ich habe mal eine Anfängerfrage, die ich mir selbst auch nach intensivem Suchen nicht selbst beantworten kann.

Ich probiere etwas mit einer Konsolenanwendung herum uns wollte dabei mal einen Fehler provozieren, indem ich eine Division durch 0 rechnen lasse.

Ich nehme dabei zwei Variablen, a und b, die ich zunächst als int deklariere:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            int a=15, b=0;

            Console.WriteLine (a + " geteilt durch " + b + " = " + a / b );
            Console.ReadLine();
        }
    }
}

Als (erwartete) Antwort erhielt ich: "Es wurde versucht duch 0 (Null) zu teilen."

Gut, gut. Deklariere ich die Variablen aber als double (oder auch als float) bekomme ich das Ergebnis "8".

Warum gibt es hier keinen Fehler? Und warum ist das Ergebnis gerade "8"?

Danke und Grüße!

LeitHai

4.939 Beiträge seit 2008
vor 4 Jahren

Eigentlich sollte "+unendlich" dabei rauskommen (oder "Infinity" auf einem englischen System, s. Ideone-Code Ausgabe).

Oder meinst du die "liegende Acht", also das Symbol für Unendlich?

PS: Eigentlich wollte ich das Unendlich-Symbol hier als Unicode posten, aber da kommt ein Fehler beim Absenden.

S
4 Beiträge seit 2019
vor 4 Jahren

Das Ergebnis ist nicht die Zahl 8 sondern das Zeichen für "infinity", eine liegende 8. Wird in der Konsole stehend dargestellt.

L
LeitHai Themenstarter:in
4 Beiträge seit 2019
vor 4 Jahren

Boah, klasse! Danke für die Antworten!!

Zwischendurch habe ich mir so etwas schon fast gedacht, habe aber nicht wirklich vermutet, dass hier die liegende Acht gemeint ist.

Ich habe schon an meinen wenigen Mathe-Kenntnissen gezweifelt. Ich dachte auch schon, das Universum ist kaputt.

Nochmal vielen Dank!

LeitHai

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo,

bei CultureInfo.InvariantCulture gibt es die Konsole besser aus, nämlich mit Infinity.

Die Zeichenfolge selbst beinhaltet die korrekte "liegende acht".

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"