Quel est le comportement de la division entière?

Par exemple,

int result;

result = 125/100;

ou

result = 43/100;

Résultat sera toujours le sol de la division? Quel est le comportement défini?

  • Résumé: nombre entier signé de la division de la tronque vers zéro. Pour les non-résultats négatifs, c'est le même que le plancher (arrondi vers -l'Infini). (Attention, C89 ne garantit pas que cette, de voir les réponses.)
  • Tout le monde n'arrête pas de dire "tronquer vers zéro" ou "plafond" ou "sol" comme le code est prise d'une décision délibérée sur la technique à utiliser. Si le code pouvait parler il dirait "I just throw the dam fraction part in the trash and move on with life"
  • Le "code" est prise d'une décision délibérée. Conformément à la spécification, la division entière est destinée à être T(runcation)-division. De ce fait, le modulo/reste de l'opérateur est mis en oeuvre différemment que s'il avait été dans une autre langue, dire, Python ou Ruby. Voir ceci pour une liste de façons différentes langues ne l'opérateur modulo et ceci qui donne la liste d'au moins cinq des moyens communs des langages de programmation décide de faire div/modulo.
  • Je parle familièrement par les commentaires qu'il a été transformer en un "c'est tronquer vers zéro... non c'est à l'étage... pas si négatives de son plafond..." parfois, les aspects techniques ne se propagent pas dans le futur avec de la mémoire humaine comme nous le voulons, mais de savoir intuitivement que la "fraction est jeté", vous pouvez tirer les points techniques. Détails techniques sont un lourd fardeau, mais l'intuition est léger et rafraîchissant comme le vent, je vais effectuer ces loin et large, et lorsque c'est nécessaire, je vais le savoir par où commencer. Comme ce document est lié, je vous remercie.
  • J'ai répondu ici avec l'accent sur la division Euclidienne (inter-play entre la division entière et le module de l'opérateur).
  • Liés: faire la division entière avec arrondi à l'entier le plus proche entier, au lieu de les tronquer: stackoverflow.com/questions/2422712/...

InformationsquelleAutor T.T.T. | 2010-08-30