salut,
Est ce que pour calculer le quotient on tape a div b?
merci d'avance![]()
salut,
Est ce que pour calculer le quotient on tape a div b?
merci d'avance![]()
a/b : quotient
a%b : reste
Bonjour si tu veux le quotient tu tapes cela : "x = y / z;".
Attention il faut que les variables soient du même type.
Mouai ça dépend de ce que tu veux faire mais la plus part du temps si tu t'amuses à mélanger des types de variables ton programme va faire de la *****...Pas obligatoirement. Juste faire attention que y et z soient des entiers.
Du style, tu divises des entiers pour récupérer dans un double... C'est pas top...
Vaut mieux rester cohérent dans le type de tes variables sauf si tu veux des résultats spéciaux (style arrondie) et encore vaut mieux le faire tout seul.
Après c'est plus un avis personnel.
Non le programme ne fera pas de la **** si tu n'as pas écris de la ****
Dans le cas des opérandes, le compilateurs fait lui-même des conversions souvent par promotion.
Juste faire attention avec les signed et unsigned car s'il y a un unsigned dans une des opérande, l'autre opérande est convertie en unsigned.
Pour le type de la variable qui va recevoir le résultat, il suffit juste qu'il soit adapté pour recevoir toutes les valeurs possibles.
Pourquoi des entiers ? Au contraire, travailler avec des flottants est un bon moyen d'éviter les surprises… dans un premier temps ! (on verra les pièges des nombres à virgule flottante plus tard :-) ).
En outre, le quotient de deux nombres entiers n'est pas forcément entier lui-même. Exemple : 5 ÷ 3.
Bref le programme va pas faire de la ***** mais plutôt les résultats ne seront pas ceux souhaités, si tu préfères.
En tout cas si c'est du calcul qu'il veut faire je lui conseille de ne prendre que des double. Comme cela il est sur d'éviter toutes sortes de problèmes (et par problèmes je veux dire de résultats approximatifs).
Autant je lui conseille d'utiliser des flottants dans ce cas précis parce qu'il s'agit visiblement d'une grande débutante, autant, d'habitude, c'est précisément contre ce genre de supposition que je m'élève.
Un double, c'est huit octets à chaque fois. Déjà, qu'on se rabatte d'emblée et systématiquement sur ce type en particulier, ça me hérissait un peu le poil, mais si en plus c'est pour être « sûr d'éviter les problèmes », alors c'est des coups à avoir des surprises.
@Neckara
Ce n'est pas toujours le cas : lors d'une promotion, un unsigned X peut être promu en int si toutes les valeurs de l'unsigned X sont représentables par un int (et la valeur est conservée)Juste faire attention avec les signed et unsigned car s'il y a un unsigned dans une des opérande, l'autre opérande est convertie en unsigned.
Je viens m'excuser pour mes postes précédent dans ce sujet car pour le coup j'ai dit un peu de la merde après coup quand je me relis ça pique un peu les yeux...
Encore désolé.
Partager