IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

division par 0 c#


Sujet :

C#

  1. #81
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Mais si on suppose que cette conscience existe, on commence à faire de la théologie

  2. #82
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    J'ai l'impression que le topic part un peu de travers là !!!

    Merci pour votre étalemment de votre savoir physique et phylosophique... c'est toujours interessant...

    Je prends simplement et logiquement les choses

    n : mon diviseur
    m : l'inverse de mon diviseur

    1 / n = 1 * m

    Si n tend vers 0, alors m tend vers +l'infini ....
    Donc j'aurais tendance à dire que si n = 0, alors m = +infini.

    Donc :

    n / 0 = +infini
    n / +infini = 0

    J'aurais même tendance à dire que 0 * +infini = un nombre.
    Cela peut être n'importe lequel car +infini + n = +infini

  3. #83
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    onc j'aurais tendance à dire que si n = 0, alors m = +infini.

    Donc :

    n / 0 = +infini
    n / +infini = 0

    J'aurais même tendance à dire que 0 * +infini = un nombre.
    Cela peut être n'importe lequel car +infini + n = +infini
    Encore une fois, c'est peut être vrai (du moins observable) en informatique. Mais c'est un non sens complet en mathématique. n / 0 ne peut jamais arriver et cette égalité stricte (et les déductions qui suivent) n'a aucun sens.

  4. #84
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    C'est etonnant ce que tu dis car en mathématiques, je connais quelques non sens...

    ex : i² = -1

    Bien sur, i est un imaginaire...

    Tout comme 0 et +infini, non ? ....

  5. #85
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    i² = -1 c'est pas un non sens, c'est sa définition même (c'est un non sens d'avoir un carré négatif *dans l'ensemble des nombres réels* mais i n'appartenant pas à cet ensemble, pas de soucis).

    Mais si tu écrit :

    n / 0 = +infini

    Alors moi j'écris :

    6 / 0 = +infini
    Et puis:
    7 / 0 = +infini

    Ensuite, un petit produit en croix, et dit moi combien fait :

    +infini * 0 = ?

  6. #86
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Ensuite, un petit produit en croix, et dit moi combien fait :

    +infini * 0 = ?
    Comme je l'ai dis plus haut cela donne un nombre qu'on ne peut pas identifier...

    Cela peut être 6 tout autant que 7 ... etc ...

  7. #87
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    C'est bien ça le problème, une égalité stricte c'est une égalité stricte, et ça ne peut pas être "un nombre non identifié" -> la division EST réversible par définition, sinon ce n'est plus une division.

    Edit : Par contre, si j'ai bien tout suivi en C# x / 0 = +infini, mais ça donne quoi si on fait :

    (x / 0) * 0 -> Il retombe sur x ?

  8. #88
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Entièrement d'accord, dans le cas ou on utilise pas de nombres imaginaires ...

    La encore, je prends l'exemple du nombre complexe i

    on sait que : i * i = -1

    pourtant : -1 * i = -i ...

    On est d'accord pour dire que 0 et +infini sont des nombres imaginaires, j'espère !! ? ...

  9. #89
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    Entièrement d'accord, dans le cas ou on utilise pas de nombres imaginaires ...

    La encore, je prends l'exemple du nombre complexe i

    on sait que : i * i = -1

    pourtant : -1 * i = -i ...
    Je vois pas ou est le problème entre ces 2 équations, il n'y pas de contradiction là ?

    Citation Envoyé par Kelpan Voir le message
    On est d'accord pour dire que 0 et +infini sont des nombres imaginaires, j'espère !! ? ...
    Non pas vraiment, 0 c'est un nombre tout ce qu'il y a de plus "normal" (naturel diront nous , +infini n'est pas un nombre mais une limite, et i c'est en effet un nombre imaginaire (qui appartient à l'ensemble des nombres imaginaires donc)

  10. #90
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Citation:
    Envoyé par Kelpan
    Entièrement d'accord, dans le cas ou on utilise pas de nombres imaginaires ...

    La encore, je prends l'exemple du nombre complexe i

    on sait que : i * i = -1

    pourtant : -1 * i = -i ...


    Je vois pas ou est le problème entre ces 2 équations, il n'y pas de contradiction là ?
    Désolé, je crois que j'ai oublié quelques lignes !!

    Je continue ma reflexion :

    si -1 * i = -i alors i * -i = -1
    Donc on a :
    i * i = -1 et i * -i = -1 ..... si ça c'est pas un non sens ....

  11. #91
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    si -1 * i = -i alors i * -i = -1
    Tu peux développer comment tu arrives à passer de la première à la deuxième équation ? Parce que là j'ai du mal à suivre...

  12. #92
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Oui, en effet, c'est pas juste. ^^ (J'ai fait une recherche, mais impossible de retrouver la demonstration qui montrait des incohérences de calcul lié au nombre i...)

    Bref, là n'est pas le problème, j'essaye de dire que l'utillisation de nombre imaginaire facilite la compréhension et la représentation du calcul qui n'est pas imaginable.

  13. #93
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 776
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 776
    Par défaut
    J'aurais même tendance à dire que 0 * +infini = un nombre.
    Cela peut être n'importe lequel car +infini + n = +infini
    En mathématique le résultat de 0 * +infini est indéfini. Donc un calcul 0 * infini retourne NaN.

    Encore une fois, c'est peut être vrai (du moins observable) en informatique. Mais c'est un non sens complet en mathématique. n / 0 ne peut jamais arriver et cette égalité stricte (et les déductions qui suivent) n'a aucun sens.
    En effet. Ceci dit, depuis le début de ce topic, tout le monde souhaite donner aux nombres flottants un sens qu'ils n'ont absolument pas, en faisant de grande démonstration de ce qui est mathématiquement(voire philosophiquement) juste.

    Les flottants n'ont jamais été concus pour être une représentation mathématique exacte. Il y a des dizaines de cas(et je suis très gentil) ou les flottants prouvent qu'il n'en sont pas du tout, le plus souvent sur des notions de mathématique absolument triviales. Vraiment pas besoin d'aller jusqu'à l'infini.
    Un simple exemple qui me passe par la tete: 1e-300 + 1e300 - 1e300 != 1e-300
    Un autre cité précédement : 0.1 * 0.1 - 0.01 != 0.0

    Si on veut faire du calcul formel il faut utiliser des bibliothèques faites pour ça, mais ce n'est absolument pas le but des flottants.

    C'est bien ça le problème, une égalité stricte c'est une égalité stricte, et ça ne peut pas être "un nombre non identifié" -> la division EST réversible par définition, sinon ce n'est plus une division.
    Edit : Par contre, si j'ai bien tout suivi en C# x / 0 = +infini, mais ça donne quoi si on fait :
    (x / 0) * 0 -> Il retombe sur x ?
    Le calcul ce fait simplement selon la priorité des opération en respectant la norme:
    1. x / 0 => soit +oo soit -oo soit NaN
    2. (+oo,-oo ou NaN) * 0 => NaN dans tous ces 3 cas.

  14. #94
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    si -1 * i = -i alors i * -i = -1
    Donc on a :
    i * i = -1 et i * -i = -1 ..... si ça c'est pas un non sens ....
    Juste en passant
    -1 x i = -i
    i x (-i) = - (i x i) = - ( - 1 ) = 1
    i x i = - 1
    ....

  15. #95
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 58
    Par défaut
    http://semsci.u-strasbg.fr/nombres.htm

    Un nombre complexe est un nombre à deux dimensions contenant une partie dite réelle a et une partie imaginaire b. Dans la pratique il est possible d'écrire z = a + i×b, où i est un nouveau nombre possèdant l'étrange propriété d'être égal à -1 lorsqu'on l'élève au carré: i2 = -1. Avant de me dire que tout ceci est parfaitement idiot, et qu'un carré est forcément quelque chose de positif, poses toi la question de savoir s'il n'existe pas dans la nature quelque chose possédant une telle propriété. Tu ne vois pas? Réfléchis bien et penses à une petite flèche dans un plan orientée dans une direction donnée. Tournes maintenant la flèche de 90° (multiplication par i). Quelle relation existe-t-il avec l'objet de départ? Aucune évidente puisque la direction de la flèche a changé. Tu écris donc:

    i×Flèche = Nouvelle Flèche

    Bien, tournes maintenant encore de 90° dans le même sens que précédemment. Que constates tu? Oui, la flèche est revenue sur l'axe de départ. Mais il y a quand même une différence, puisqu'elle pointe dans la direction opposée! Tu vas donc écrire:

    i×(i×Flèche) = i2×(Flèche) = -(Flèche)

    Simplifie par la flèche, que reste-t-il? Bon d'accord, tu préfères tourner de 90° dans l'autre sens (multiplication par -i) pour retrouver la flèche de départ. Cela ne t'avance guère puisque:

    (-i)×(i×Flèche) = -i2×(Flèche) = (Flèche)


    Lorsque les mathématiques s'appliquent à la réalité, elles ne sont pas certaines. Lorsqu'elles sont certaines, alors elles ne s'appliquent plus à la réalité - Einstein

    Il avait tout prévu le bougre...

  16. #96
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Juste une chose pour moi 0*infini = 0
    J'applique juste une des règles qui dit que tout nombre multiplié par 0 a pour résultat 0.
    Est ce que parce que infini est une limite cela donne Nan ? (j'ai un peu oublié mes cours de math du lycée sur les limites)

    Bon pour simplifier les choses :
    Sur les doubles et les flottants nous avons une précision très faible car 0,1*0,1 != 0,01
    Donc 0,0 n'est pas réellement 0 mais plutôt un nombre s'approchant de zéro.
    Donc en flottant ou double, X/0 n'est pas une division par zéro mais une division par un nombre proche de zéro.
    Donc d'après la normalisation que suive les processeurs (ou les coproc je ne sais plus mais vous l'avez dit dans le sujet) renvois infini.
    En effet ceci ne sert qu'à donner le résultat mathématique de X/N lorsque N tend vers 0.

    Donc trois choses à retenir :
    1) 0 n'étatn pas 0 en flottant et double mais un nombre tendant vers 0, X/0 ne peut lever une exception car il n'y a pas de division par 0
    2) Le résultat attendu en mathématique est infini, et aujourd'hui les Processeurs nous fournisse ce résultat. Plutot qu'une exception division par 0 ce qui n'est pas juste.
    3) Pour les int 0 = 0 donc X/0 étant mathématiquement impossible, une exception est levée.

  17. #97
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Petite remarque en VB.2003 (à vérifier en c#)

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim d As Double = 10
    d = d / 0 => pas d'exception
     
    Dim d As Decimal = 10
    d = d / 0 => exception

  18. #98
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 602
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    Avant la création de l'univers par le bigbang, c'était le néant.
    La notion d'avant ici n'a pas de sens.

  19. #99
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Oui oui mais t'inquiète on l'a répété plein de fois

    Le temps ayant commencé au big bang il ne peut y avoir d'avant.

    J'avais vu une emission sur la 5 à la télé qui expliquais une de hypothèse sur l'état de l'univers au commencement (donc avant le big bang même si on ne peut pas le dire) :
    En fait temps et espace était confondu, du genre tu étais à la fois en 2007 et en -500 000
    En fait tout etait replié sur un même point. Bien sur un humain serait incapable de survrir dans un tel univers, dans le néant

  20. #100
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Mo j'avais vu qu'"avant" le big bang il y avait une masse d'énergie sans temps ni espace.

    Le Big Bang éclate, le temps commence : à 0,0000.... tend vers 0^^

    Selon une théorie à ce moment, la masse d'anti matière est égale à celle de la matière, la matière l'emporte je sais plus comment (et j'ai pas compris..)

    Selon une autre théorie l'univers est découpé en deux zones : une matière une anti matière... (pas très probable).

    Selon une théorie (celle du chaos je crois) notre univers est composé de matière, et il existe un autre univers composé d'anti matière, ou il est prouvé que le temps s'écoule de façon inversé proportionnellement...
    (c'est ton destin!)

    Ensuite ya meme des théories ou il existerait plusieurs "univers" matière / anti matière, et bla bla bla...


    Au fait, "ils" se penchent sur le développement de projecteur d'anti matière pour atteindre des vitesses de voyage beaucoup plus performantes (dans l'espace), mais il se passe quoi si on consomme de l'anti matière? Ca rejette de l'anti matière? Et ce truc là dans notre univers, ca donne quoi comme déchets?...

    Au fait à propos du big bang, si on suit la même logique d'expansion des étoiles et de consommation de l'univers, le Big Bang a "éclaté", donc l'univers (infini?) s'étend... Il parait que ce phénomène s'estompe et qu'il devrait donc un jour commencé à se rétracter (les corps s'attirent)... D'ou la fin de l'univers... Ou du recomencement....

Discussions similaires

  1. Comment faire une division par 5 avec les decalages
    Par Zaion dans le forum Assembleur
    Réponses: 7
    Dernier message: 05/11/2004, 17h33
  2. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  3. Division par 16 en C
    Par hermannd dans le forum C
    Réponses: 18
    Dernier message: 13/02/2004, 14h10
  4. [LG]a divise par b
    Par backsync dans le forum Langage
    Réponses: 8
    Dernier message: 22/10/2003, 21h37
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo