p
u
b
l
i
c
i
t
é
publicité

Discussion: Problème de typage

  1. #1
    Membre à l'essai
    Inscrit en
    janvier 2011
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 84
    Points : 21
    Points
    21

    Par défaut Problème de typage

    Bonjour,
    si on a:
    pourquoi l'expression (int) i %d est erronée ?

    i%d sera de type double et avec (int), il y aura troncature du résultat pour ne garder que la partie entière (?)
    Merci.

  2. #2
    Modérateur
    Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    janvier 2009
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2009
    Messages : 703
    Points : 1 238
    Points
    1 238

    Par défaut

    teuteuteu : un modulo par rapport à un double ?

  3. #3
    Membre à l'essai
    Inscrit en
    janvier 2011
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 84
    Points : 21
    Points
    21

    Par défaut

    aaahhhh ok
    Merci!
    Et le (int) signifie qu'il faut prendre la partie entière dans : (int) (1/3) par exemple ?

  4. #4
    Membre émérite
    Avatar de Kirilenko
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2011
    Messages : 234
    Points : 822
    Points
    822

    Par défaut

    Bonsoir,

    Citation Envoyé par Glork Voir le message
    aaahhhh ok
    Merci!
    Et le (int) signifie qu'il faut prendre la partie entière dans : (int) (1/3) par exemple ?
    En fait, ça dépend de tes opérandes. Si elles sont de type (à l'issue des conversions arithmétiques usuelles, évidemment) int, tu auras une division entière. Si elles sont de type double, tu auras une division flottante. Ici, le transtypage s'effectue *à la fin* de l'opération, et n'aura pas d'influence sur le type de division qui sera effectué. Si tu veux que ce soit le cas, il faut que tu transtypes les opérandes.

    Bonne soirée.
    Récursivité en C : épidémie ou hérésie ?

    "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman

  5. #5
    Expert Confirmé Sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    5 210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 5 210
    Points : 13 462
    Points
    13 462
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Kirilenko Voir le message
    Bonsoir,


    En fait, ça dépend de tes opérandes. Si elles sont de type (à l'issue des conversions arithmétiques usuelles, évidemment) int, tu auras une division entière. Si elles sont de type double, tu auras une division flottante. Ici, le transtypage s'effectue *à la fin* de l'opération, et n'aura pas d'influence sur le type de division qui sera effectué.
    Bonjour
    Petite précision: le calcul se fait dans la précision des opérandes utilisés par le calcul immédiat et non pas dans la précision de l'opération globale.
    Exemple: double d=5/2 + 1.0
    Le premier calcul fait d'après la priorité des opérateurs étant 5/2 n'utilise que des entiers et se fera donc dans le type entier et donnera 2. Ensuite, ce 2 sera ajouté au double 1.0 et donnera 3.0.
    Alors que cet exemple: double d=5/2.0 + 1 donnera 2.5 + 1 soit 3.5...
    Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
    Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit.
    Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant.
    Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation.
    Dr. Adrian Rogers (1931-2005)

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/02/2007, 17h56
  2. problème de typage
    Par sissi25 dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 10/01/2007, 12h59
  3. [Typage] Problème avec typage de variables
    Par elitemedia dans le forum Syntaxe
    Réponses: 2
    Dernier message: 17/11/2006, 02h18
  4. [Tableaux] Problème de typage sur un float
    Par Lomu dans le forum Fonctions
    Réponses: 1
    Dernier message: 06/11/2006, 11h47
  5. [SQL2005] problèmes de typage de colonne en XML
    Par titouc330 dans le forum MS SQL-Server
    Réponses: 2
    Dernier message: 18/10/2006, 12h52

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