De quelle façon (s) serait un trop-plein dans une expression souhaitable dans les cas suivants:Dépassement dans les expressions C# Ok?
- calculer une valeur de hachage
- Calcul d'un chèque somme
?
De quelle façon (s) serait un trop-plein dans une expression souhaitable dans les cas suivants:Dépassement dans les expressions C# Ok?
?
Tant que vous vous attendez à ce que les opérations puissent déborder, et que la définition de ce que vous essayez de faire autorise un débordement (ou l'exige éventuellement), cela rend la vie beaucoup plus facile.
Par exemple, un algorithme de calcul d'un hachage est:
Par exemple:
int ret = 37;
ret = ret * 37 + field1.GetHashCode() * 23;
ret = ret * 37 + field2.GetHashCode() * 23;
ret = ret * 37 + field3.GetHashCode() * 23;
return ret;
ici, l'un des les calculs pourraient déborder, mais ça va - nous ne sommes pas vraiment intéressés par l'ampleur du nombre, juste le but qu'il est susceptible d'être différent pour différents objets, mais la même chose pour des objets égaux.
Essayer de faire cela sans débordement est une douleur - vous pourriez utiliser XOR, mais cela a d'autres inconvénients.
Pourriez-vous être un peu plus verbeux? Je ne pense pas que je déteste la question ... – rkj
Cela ressemble à une question d'un manuel - hors contexte. Mais il semble que Jon avait déjà une réponse ... :-) – splattne
Cela ressemble à des devoirs. –