


Résultats inattendus dans une division entière : pourquoi 8/-7 = -2 ?
Oct 24, 2024 am 11:55 AMSurprises de divisions entières
Lorsque vous travaillez avec des nombres entiers, vous pouvez rencontrer un résultat inattendu lors de l'exécution d'une division. Par exemple, 8/-7 est égal à -2 lorsque les deux nombres sont traités comme des entiers. Cela peut prêter à confusion, alors explorons ce qui se passe.
Explication
La division entière dans Python 2, la version que vous semblez utiliser, suit une convention connue sous le nom de " division d'étage. Cela signifie que le résultat est arrondi à l’entier inférieur le plus proche. Dans ce cas, -1,143 (le résultat réel de 8,0/(-7,0)) est arrondi à -2.
Ce comportement conduit à des résultats intéressants :
- 8/(-7) = -2 : Arrondit à la valeur inférieure la plus négative
- 8/7 = 1 : Arrondit à l'entier inférieur le plus proche
Python 3 et au-delà
Dans Python 3, la division entière a changé. Au lieu d’arrondir, il fournit un résultat à virgule flottante. Par exemple, 8/(-7) dans Python 3 serait -1,143.
Si vous avez toujours besoin d'une division entière, Python 3 propose l'opérateur "//". Cela se comporte de la même manière que la division entière dans Python 2, en arrondissant à l'entier inférieur le plus proche.
"Réparer" la surprise
La surprise apparente dans le résultat de la division entière peut être "corrigé" en effectuant une mise à niveau vers Python 3. Cela entraînera un résultat à virgule flottante, plus représentatif de la véritable opération mathématique. Alternativement, vous pouvez utiliser l'opérateur "//" dans Python 3 pour obtenir le même comportement que la division entière dans Python 2.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment télécharger des fichiers dans Python

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Comment implémenter votre propre structure de données dans Python
