J'essaie de remplacer les 2 derniers chiffres d'un nombre entier par 38. Je le fais comme ci-dessous.Remplacer les derniers chiffres d'un entier
int num = 1297;
num = (num/100)*100 + 38;
Qu'est-ce que je suppose est que le compilateur ne sera pas optimiser (num/100) * 100 à num. Si cela se produit alors dans mon exemple ci-dessus, num deviendra 1335 au lieu de 1238. Donc, est-il garanti en C que l'expression ci-dessus ne sera pas optimisée? Ou y at-il une meilleure façon de remplacer les 2 derniers chiffres avec un certain nombre?
Si vous voulez raser six caractères de plus, vous pouvez même utiliser "num - = (num% 100) + 38;" –
Ce message ne répond pas à la plupart des questions du PO et n'explique pas comment (ou même si) il est meilleur que l'exemple fourni par le PO. – Artelius
D'accord, même si le code est techniquement correct, la réponse est horrible d'un point de vue pédagogique. Le score actuel de 10 est beaucoup trop, -1 de moi. – hlovdal