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

Algorithmes et structures de données Discussion :

Problème de calcul d'arrondi


Sujet :

Algorithmes et structures de données

  1. #1
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut Problème de calcul d'arrondi
    Bonjour,

    Je cherche calculer l'arrondi inférieur d'un nombre (flottant) à plus ou moins 'n' (la fonction round() ne me convient pas puisqu'elle arrondi à plus ou moins 1)

    exemple :
    • 1012 +/-5 ==> 1010
    • 10200 +/-500 ==> 10000
    • 1010 +/-10 ==> 1010


    Je bute sur l'algo et je ne sais pas comment prendre le problème de manière générique (pour ne pas être embêté par la taille du nombre initial ni par la taille de l'arrondi)

    Merci d'avance pour vos idées
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Bonjour,

    Je cherche calculer l'arrondi inférieur d'un nombre (flottant) à plus ou moins 'n' (la fonction round() ne me convient pas puisqu'elle arrondi à plus ou moins 1)

    exemple :
    • 1012 +/-5 ==> 1010
    • 10200 +/-500 ==> 10000
    • 1010 +/-10 ==> 1010
    Bonjour,
    le comportement que tu souhaites ne me semble pas très clairement défini. En supposant que tu as fait une faute de frappe dans le dernier exemple (1010 ± 10 → 1000), peut on généraliser en disant qu'étant donné un intervalle (a±b = [a-b;a+b]), tu veux le nombre entier appartenant à cet intervalle dont l'écriture en base 10 comprends le plus de zéro ?
    -- Yankel Scialom

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Non, non, pas d'erreur, pour 1010 +/-10, je veux bien 1010 (mais c'était peut être pas très clair)

    En fait, je crois que je viens de trouver

    il faut jouer avec le reste de la division du nombre initial par le modulo

    Citation Envoyé par algorithme
    n / m = q + r
    n' = n - r
    avec
    • n, le nombre initial
    • n', le nombre que je cherche
    • m, l'arrondi,
    • q, le quotient de la division entière
    • r, le reste de la division entière
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Ha ! je comprends. La notion de ± m'avait perturbé. Tu cherches le plus grand multiple de m inférieur à n .
    Note que (avec la même notation) dans ce cas : 10300 ± 500 → 10000 et non 10500 qui est plus proche (mais supérieur).

    Cdlt,
    -- Yankel Scialom

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    Ha ! je comprends. La notion de ± m'avait perturbé. Tu cherches le plus grand multiple de m inférieur à n .
    Ha oui, dit comme cela, c'est plus simple à comprendre. C'est exactement cela.
    Citation Envoyé par prgasp77 Voir le message
    Note que (avec la même notation) dans ce cas : 10300 ± 500 → 10000 et non 10500 qui est plus proche (mais supérieur).
    Oui oui, je suis d'accord et c'est cela que je veux.

    Merci pour l'aide à l'énoncé
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Ha oui, dit comme cela, c'est plus simple à comprendre. C'est exactement cela.

    Oui oui, je suis d'accord et c'est cela que je veux.

    Merci pour l'aide à l'énoncé
    Comme quoi encore un coup du "ce qui se conçoit bien..."
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de calcul avec arrondis
    Par Flaguette dans le forum Access
    Réponses: 5
    Dernier message: 23/05/2008, 23h00
  2. Problème de calcul matricielle
    Par Clad3 dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 29/06/2005, 21h45
  3. problème de calcul des normales par sommet
    Par captainSeb dans le forum OpenGL
    Réponses: 2
    Dernier message: 21/01/2005, 13h42
  4. [Calendar]Problème de calcul de date
    Par valerie90 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 08/12/2004, 12h13
  5. Problème de calcul unix_timestamp
    Par petit_stagiaire dans le forum Administration
    Réponses: 2
    Dernier message: 28/04/2004, 15h27

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