>  기사  >  백엔드 개발  >  정수 나눗셈의 예상치 못한 결과: 8/-7 = -2인 이유는 무엇입니까?

정수 나눗셈의 예상치 못한 결과: 8/-7 = -2인 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-24 11:55:02642검색

Unexpected Results in Integer Division: Why is 8/-7 = -2?

정수 나누기의 놀라움

정수로 작업할 때 나누기를 수행할 때 예상치 못한 결과가 발생할 수 있습니다. 예를 들어, 두 숫자가 모두 정수로 처리되면 8/-7은 -2와 같습니다. 혼란스러울 수 있으므로 무슨 일이 일어나고 있는지 살펴보겠습니다.

설명

사용 중인 것으로 보이는 버전인 Python 2의 정수 나누기는 " 층분리." 이는 결과가 가장 가까운 정수로 반올림됨을 의미합니다. 이 경우 -1.143(8.0/(-7.0)의 실제 결과)은 -2로 내림됩니다.

이 동작은 흥미로운 결과로 이어집니다.

  • 8/(-7) = -2: 더 음수 값으로 내림
  • 8/7 = 1: 가장 가까운 작은 정수로 내림

Python 3 및 그 이상

Python 3에서는 정수 나누기가 변경되었습니다. 반내림하는 대신 부동 소수점 결과를 제공합니다. 예를 들어 Python 3에서 8/(-7)은 -1.143입니다.

여전히 정수 나누기가 필요한 경우 Python 3에서는 "//" 연산자를 제공합니다. 이는 Python 2의 정수 나누기와 유사하게 작동하며 가장 가까운 정수로 내림됩니다.

놀라움을 "수정"

정수 나누기 결과에서 눈에 띄는 놀라운 점은 다음과 같습니다. Python 3으로 업그레이드하면 "고정"됩니다. 이로 인해 실제 수학 연산을 더 잘 나타내는 부동 소수점 결과가 생성됩니다. 또는 Python 3에서 "//" 연산자를 사용하여 Python 2의 정수 나누기와 동일한 동작을 얻을 수 있습니다.

위 내용은 정수 나눗셈의 예상치 못한 결과: 8/-7 = -2인 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.