La division en langage c [Fermé]

Signaler
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour,
au niveau du langage c je veux savoir est ce qu il y a une operation qui fait la division reelle entre deux entiers ,
par exemple
14/10=1.4
tq 14 et 10 sont des entiers;
si vous savez la solution please repodez moi et merci

3 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 536
Salut,

En C l'opérateur / appliqué à deux entiers, exécute la division entière.

En mathématique la division entière donne deux résultats:
- le quotient
- le reste

14/10 donne
- le quotient = 1
- le reste = 4
14 = 10 * 1 + 4

En langage C, l'opérateur / donne le quotient et l'opérateur % donne le reste
14/10 donne le quotient = 1
14%10 donne le reste = 4

14 = 10 * (14/10) + 14%10

Donc, comme l'a dit fiddy, il faut caster (avec un seul r ;-)))
8
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 756
Salut,
La division entre deux entiers rendra forcément un entier.
Néanmoins, tu peux caster. Par exemple : double x=(double)14/10;
Cdlt
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009
7
il est imposible de declare le resultat comme un entier

main()
{
int a,b;
float x;
x=a/b;
}
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 756
Non.
Si a=14 et b=10; ton x vaudra 1.0 et non 1.4.
Regarde le post 1 ;-))).
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009
7 >
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016

je crois 14/10=1.4
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 756 >
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009

Tu crois mal ;-)))
En C, la division de deux entiers renvoie un entier.
Si tu veux le résultat réel, il faut caster (cf Post1).

mais le type de x ici c'est float nn pas int
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 756
Joli déterrage de topic. Surtout pour se tromper...
Pour la nème fois, on s'en fiche que x soit un float ou pas. a et b sont des entiers. Donc a/b donne 1. Vu que x est un float, 1 sera promue en 1.0f.
Point barre.