#26 Le 23/06/2008, à 21:19
- guyver2
Re : x est -il entier
personnellement je préfère utiliser un modulo, mathématiquement c'est plus propre, et j'essaye d'utiliser les casts au minimum possible.
sauf que le modulo ne marche que sur des entiers et pas des rééls ce n'est pas mathématiquement correct.
sinon un autre moyen sans cast c'est la fonction floor de math.h
Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++
Hors ligne
#27 Le 24/06/2008, à 17:16
- /b/nt/
Re : x est -il entier
Salut,
Je pense que ça marche pas à moins que j'ai fait une erreur : Pour la preuve regardez les deux printifs :
le 11 apparaît dans le premier et pas dans le deuxième, allez, faites courir vos ordi !
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
int main (void)
{
double x;
double p=7;
double n=1;
while (n<255000)
{
x=exp(log(1+(n*p))/(p-1));
n++;
printf(" %lf *",x);
}
printf(" \n *************************************");
while (n<255000)
{
x=exp(log(1+(n*p))/(p-1));
n++;
if((int)x==x) printf(" %lf *",x);
}
return 0;
}
#28 Le 24/06/2008, à 19:46
- telliam
Re : x est -il entier
telliam a écrit :personnellement je préfère utiliser un modulo, mathématiquement c'est plus propre, et j'essaye d'utiliser les casts au minimum possible.
sauf que le modulo ne marche que sur des entiers et pas des rééls ce n'est pas mathématiquement correct.
euh je veux bien te croire mais ça m'étonne un peu...
tu as des liens sur le sujet??
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#29 Le 24/06/2008, à 20:14
- JBF
Re : x est -il entier
guyver2 a écrit :telliam a écrit :personnellement je préfère utiliser un modulo, mathématiquement c'est plus propre, et j'essaye d'utiliser les casts au minimum possible.
sauf que le modulo ne marche que sur des entiers et pas des rééls ce n'est pas mathématiquement correct.
euh je veux bien te croire mais ça m'étonne un peu...
tu as des liens sur le sujet??
C'est le progamme de quelle classe déjà ?
Il s'agit du reste d'une division euclidienne, donc ça ne concerne évidemment que des entiers.
JBF
LibreOffice : https://fr.libreoffice.org/ (téléchargement, documentation, FAQ, assistance, contribuer, ...)
Aide pour LibreOffice par la communauté francophone : Ask LibreOffice
Hors ligne
#30 Le 24/06/2008, à 20:23
- telliam
Re : x est -il entier
telliam a écrit :guyver2 a écrit :sauf que le modulo ne marche que sur des entiers et pas des rééls ce n'est pas mathématiquement correct.
euh je veux bien te croire mais ça m'étonne un peu...
tu as des liens sur le sujet??C'est le progamme de quelle classe déjà ?
Il s'agit du reste d'une division euclidienne, donc ça ne concerne évidemment que des entiers.JBF
Oui merci ....:rolleyes:
mais je voulais surtout savoir comment allait se comporter l'operateur C qd on va utiliser des réels avec.
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#31 Le 24/06/2008, à 20:43
- nicolas.sitbon
Re : x est -il entier
JBF a écrit :telliam a écrit :euh je veux bien te croire mais ça m'étonne un peu...
tu as des liens sur le sujet??C'est le progamme de quelle classe déjà ?
Il s'agit du reste d'une division euclidienne, donc ça ne concerne évidemment que des entiers.JBF
Oui merci ....:rolleyes:
mais je voulais surtout savoir comment allait se comporter l'operateur C qd on va utiliser des réels avec.
ISO/IEC 9899:TC3 Committee Draft — Septermber 7, 2007 WG14/N1256
6.5.5 Multiplicative operators
Syntax
1 multiplicative-expression:
cast-expression
multiplicative-expression * cast-expression
multiplicative-expression / cast-expression
multiplicative-expression % cast-expression
Constraints
2 Each of the operands shall have arithmetic type. The operands of the % operator shall
have integer type.
Semantics
3 The usual arithmetic conversions are performed on the operands.
4 The result of the binary * operator is the product of the operands.
5 The result of the / operator is the quotient from the division of the first operand by the
second; the result of the % operator is the remainder. In both operations, if the value of
the second operand is zero, the behavior is undefined.
6 When integers are divided, the result of the / operator is the algebraic quotient with any
fractional part discarded.90) If the quotient a/b is representable, the expression
(a/b)*b + a%b shall equal a.
il est à noter que certains langages autorisent l'opérateur modulo pour des flottants.
Hors ligne
#32 Le 24/06/2008, à 20:46
- telliam
Re : x est -il entier
Merci !! Je me coucherai moins bête
Je ne savais pas que c'était spécifié dans la norme.
Dernière modification par telliam (Le 24/06/2008, à 20:47)
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#33 Le 24/06/2008, à 21:40
- guyver2
Re : x est -il entier
c'est pas juste spécifié dans la norme, si tu l'ecrit avec des float ça compile pas.
Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++
Hors ligne
#34 Le 24/06/2008, à 21:47
- telliam
Re : x est -il entier
Monsieur est tatillon !!!
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#35 Le 25/06/2008, à 01:41
- nicolas66
Re : x est -il entier
Pour les réels => fmod
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#36 Le 25/06/2008, à 10:07
- DrDam
Re : x est -il entier
tiens ... fmod c'est le reste de la division aussi ?
Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin
Hors ligne
#37 Le 25/06/2008, à 16:14
- nicolas.sitbon
Re : x est -il entier
tiens ... fmod c'est le reste de la division aussi ?
7.12.10.1 The fmod functions
Synopsis
1 #include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
Description
2 The fmod functions compute the floating-point remainder of x/y.
Returns
The fmod functions return the value x − ny, for some integer n such that, if y is nonzero,
3
the result has the same sign as x and magnitude less than the magnitude of y. If y is zero,
whether a domain error occurs or the fmod functions return zero is implementation-
defined.
Hors ligne
#38 Le 25/06/2008, à 16:21
- ®om
Re : x est -il entier
personnellement je préfère utiliser un modulo, mathématiquement c'est plus propre, et j'essaye d'utiliser les casts au minimum possible.
Le modulo, c'est une fonction de ℤ×ℕ→ℕ, donc sur des floattants... je n'appelerais pas ça «plus propre».
EDIT: ultra-grilled, j'avais pas vu la page 2
Dernière modification par ®om (Le 25/06/2008, à 16:21)
Hors ligne