Je me permets de vous demander un brin d'aide, encore. Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
La conversion en float ? C'est un cast un peu particulier, mais un simple calcul de moyenne qui prend en entrée des entiers et retourne la moyenne sous forme de float, par exemple, nécessite un cast.
-- Gael Le Mignot "Kilobug" - - http://kilobug.free.fr GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959 Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA
Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par
cast est nécessaire. Je trouve rien sans devoir
introduire des pointeurs...
La conversion en float ? C'est un cast un peu particulier, mais un
simple calcul de moyenne qui prend en entrée des entiers et retourne
la moyenne sous forme de float, par exemple, nécessite un cast.
--
Gael Le Mignot "Kilobug" - kilobug@nerim.net - http://kilobug.free.fr
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA
Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org
Je me permets de vous demander un brin d'aide, encore. Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
La conversion en float ? C'est un cast un peu particulier, mais un simple calcul de moyenne qui prend en entrée des entiers et retourne la moyenne sous forme de float, par exemple, nécessite un cast.
-- Gael Le Mignot "Kilobug" - - http://kilobug.free.fr GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959 Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA
Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org
Antoine Leca
Marc Boyer va escriure:
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
Imprimer un size_t avec printf (de manière compatible ANSI 89).
Antoine
Marc Boyer va escriure:
Je cherche un exemple simple où la conversion par
cast est nécessaire. Je trouve rien sans devoir
introduire des pointeurs...
Imprimer un size_t avec printf (de manière compatible ANSI 89).
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
Marc Boyer
Cast en unsigned avant de faire des decalages.
a+, ld.
Anthony
Marc Boyer wrote:
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
L'exemple tout bête peut être quand on fait une division de deux entiers pour stocker le resultat vers un flottant. Si aucun cast n'est fait la division est une division entière et le resultat n'est pas celui attendu. Il faut donc caster au moins l'un des deux membres de la division :
int main() { int a = 3, b = 5; double c = b / a; double d = (double) b/a; printf("%.1lf %.1lfn", c, d); }
1.0 1.7 :~$
Anthony -- "I should have seen it would be this way I should have known from the start what she's up to When you have loved and you've lost someone You know what it feels like to lose" -- The Rasmus
Marc Boyer wrote:
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par
cast est nécessaire. Je trouve rien sans devoir
introduire des pointeurs...
L'exemple tout bête peut être quand on fait une division de deux entiers
pour stocker le resultat vers un flottant. Si aucun cast n'est fait la
division est une division entière et le resultat n'est pas celui attendu.
Il faut donc caster au moins l'un des deux membres de la division :
int main() {
int a = 3, b = 5;
double c = b / a;
double d = (double) b/a;
printf("%.1lf %.1lfn", c, d);
}
1.0 1.7
anthony@prog:~$
Anthony
--
"I should have seen it would be this way
I should have known from the start what she's up to
When you have loved and you've lost someone
You know what it feels like to lose" -- The Rasmus
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
L'exemple tout bête peut être quand on fait une division de deux entiers pour stocker le resultat vers un flottant. Si aucun cast n'est fait la division est une division entière et le resultat n'est pas celui attendu. Il faut donc caster au moins l'un des deux membres de la division :
int main() { int a = 3, b = 5; double c = b / a; double d = (double) b/a; printf("%.1lf %.1lfn", c, d); }
1.0 1.7 :~$
Anthony -- "I should have seen it would be this way I should have known from the start what she's up to When you have loved and you've lost someone You know what it feels like to lose" -- The Rasmus
Marc Boyer
Gaël Le Mignot wrote:
Je me permets de vous demander un brin d'aide, encore. Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
La conversion en float ? C'est un cast un peu particulier, mais un simple calcul de moyenne qui prend en entrée des entiers et retourne la moyenne sous forme de float, par exemple, nécessite un cast.
Voui, merci beaucoup ;-)
Marc Boyer, soulagé -- Lying for having sex or lying for making war? Trust US presidents :-(
Gaël Le Mignot wrote:
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par
cast est nécessaire. Je trouve rien sans devoir
introduire des pointeurs...
La conversion en float ? C'est un cast un peu particulier, mais un
simple calcul de moyenne qui prend en entrée des entiers et retourne
la moyenne sous forme de float, par exemple, nécessite un cast.
Voui, merci beaucoup ;-)
Marc Boyer, soulagé
--
Lying for having sex or lying for making war? Trust US presidents :-(
Je me permets de vous demander un brin d'aide, encore. Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
La conversion en float ? C'est un cast un peu particulier, mais un simple calcul de moyenne qui prend en entrée des entiers et retourne la moyenne sous forme de float, par exemple, nécessite un cast.
Voui, merci beaucoup ;-)
Marc Boyer, soulagé -- Lying for having sex or lying for making war? Trust US presidents :-(
Marc Boyer
Laurent Deniau wrote:
Marc Boyer wrote:
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages... Je vais juste leur montrer le coup de la moyenne, ça me paraît suffisant en première approche.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Laurent Deniau wrote:
Marc Boyer wrote:
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par
cast est nécessaire. Je trouve rien sans devoir
introduire des pointeurs...
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Je vais juste leur montrer le coup de la moyenne,
ça me paraît suffisant en première approche.
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
Imprimer un size_t avec printf (de manière compatible ANSI 89).
Voui, mais là, j'aurais pas encore présenté size_t... Je pense faire size_t avec l'allocation dynamique.
Merci de ta réponse, Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Jean-Marc Bourguet
Marc Boyer writes:
Laurent Deniau wrote:
Marc Boyer wrote:
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Et j'espere que tu leur dit que ce genre d'operation (manipulation de bits) se fait sur des unsigned.
Je vais juste leur montrer le coup de la moyenne, ça me paraît suffisant en première approche.
Les cas ou on a besoin de faire de la manipulation de bits sur des donnees presentees sous autre forme que des unsigned sont tres rares. Je ne donnerais donc pas cet exemple dans un contexte d'enseignement de peur de montrer le mauvais exemple.
Autre chose exemple (dans la veine unsigned):
char c; if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si char est signe.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> writes:
Laurent Deniau wrote:
Marc Boyer wrote:
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par
cast est nécessaire. Je trouve rien sans devoir
introduire des pointeurs...
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Et j'espere que tu leur dit que ce genre d'operation (manipulation de
bits) se fait sur des unsigned.
Je vais juste leur montrer le coup de la moyenne,
ça me paraît suffisant en première approche.
Les cas ou on a besoin de faire de la manipulation de bits sur des
donnees presentees sous autre forme que des unsigned sont tres rares.
Je ne donnerais donc pas cet exemple dans un contexte d'enseignement
de peur de montrer le mauvais exemple.
Autre chose exemple (dans la veine unsigned):
char c;
if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si
char est signe.
A+
--
Jean-Marc
FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Je me permets de vous demander un brin d'aide, encore.
Je cherche un exemple simple où la conversion par cast est nécessaire. Je trouve rien sans devoir introduire des pointeurs...
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Et j'espere que tu leur dit que ce genre d'operation (manipulation de bits) se fait sur des unsigned.
Je vais juste leur montrer le coup de la moyenne, ça me paraît suffisant en première approche.
Les cas ou on a besoin de faire de la manipulation de bits sur des donnees presentees sous autre forme que des unsigned sont tres rares. Je ne donnerais donc pas cet exemple dans un contexte d'enseignement de peur de montrer le mauvais exemple.
Autre chose exemple (dans la veine unsigned):
char c; if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si char est signe.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Marc Boyer
Jean-Marc Bourguet wrote:
Marc Boyer writes:
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Et j'espere que tu leur dit que ce genre d'operation (manipulation de bits) se fait sur des unsigned.
C'est écris juste sous le titre
4.3 Opérateurs binaire (bits à bits) sur types entiers non-signés
de là à dire qu'ils le retiendrons...
Autre chose exemple (dans la veine unsigned):
char c; if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si char est signe.
J'avoue ne pas m'attarder sur le caractère signé ou non de char.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Jean-Marc Bourguet wrote:
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> writes:
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Et j'espere que tu leur dit que ce genre d'operation (manipulation de
bits) se fait sur des unsigned.
C'est écris juste sous le titre
4.3 Opérateurs binaire (bits à bits)
sur types entiers non-signés
de là à dire qu'ils le retiendrons...
Autre chose exemple (dans la veine unsigned):
char c;
if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si
char est signe.
J'avoue ne pas m'attarder sur le caractère signé ou non de char.
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
Et j'espere que tu leur dit que ce genre d'operation (manipulation de bits) se fait sur des unsigned.
C'est écris juste sous le titre
4.3 Opérateurs binaire (bits à bits) sur types entiers non-signés
de là à dire qu'ils le retiendrons...
Autre chose exemple (dans la veine unsigned):
char c; if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si char est signe.
J'avoue ne pas m'attarder sur le caractère signé ou non de char.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Jean-Marc Bourguet
Marc Boyer writes:
Jean-Marc Bourguet wrote:
Marc Boyer writes:
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Et j'espere que tu leur dit que ce genre d'operation (manipulation de bits) se fait sur des unsigned.
C'est écris juste sous le titre
4.3 Opérateurs binaire (bits à bits) sur types entiers non-signés
de là à dire qu'ils le retiendrons...
Autre chose exemple (dans la veine unsigned):
char c; if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si char est signe.
J'avoue ne pas m'attarder sur le caractère signé ou non de char.
Des que tu utilises isXXXX, il faut caster en non signe sinon il y a un conflit avec le fait que ces fonctions sont definies aussi pour EOF. De meme, il faut faire attention a ne pas stocker le resultat de getch dans un char avant d'avoir comparer avec EOF.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> writes:
Jean-Marc Bourguet wrote:
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> writes:
Cast en unsigned avant de faire des decalages.
Je passe très vite sur les décalages...
Et j'espere que tu leur dit que ce genre d'operation (manipulation de
bits) se fait sur des unsigned.
C'est écris juste sous le titre
4.3 Opérateurs binaire (bits à bits)
sur types entiers non-signés
de là à dire qu'ils le retiendrons...
Autre chose exemple (dans la veine unsigned):
char c;
if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si
char est signe.
J'avoue ne pas m'attarder sur le caractère signé ou non de char.
Des que tu utilises isXXXX, il faut caster en non signe sinon il y a
un conflit avec le fait que ces fonctions sont definies aussi pour
EOF. De meme, il faut faire attention a ne pas stocker le resultat de
getch dans un char avant d'avoir comparer avec EOF.
A+
--
Jean-Marc
FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Et j'espere que tu leur dit que ce genre d'operation (manipulation de bits) se fait sur des unsigned.
C'est écris juste sous le titre
4.3 Opérateurs binaire (bits à bits) sur types entiers non-signés
de là à dire qu'ils le retiendrons...
Autre chose exemple (dans la veine unsigned):
char c; if (isprint((unsigned char) c)) {
}
Si on ne caste pas, on risque d'avoir la mauvaise reponse pour 'ÿ' si char est signe.
J'avoue ne pas m'attarder sur le caractère signé ou non de char.
Des que tu utilises isXXXX, il faut caster en non signe sinon il y a un conflit avec le fait que ces fonctions sont definies aussi pour EOF. De meme, il faut faire attention a ne pas stocker le resultat de getch dans un char avant d'avoir comparer avec EOF.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org