Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #6288
| From | "Peter J. Holzer" <hjp-usenet4@hjp.at> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: -1//2 |
| Date | 2025-04-10 20:08 +0200 |
| Organization | LUGA |
| Message-ID | <slrnvvg291.2oarc.hjp-usenet4@trintignant.hjp.at> (permalink) |
| References | <m5q46bFbsj1U1@mid.individual.net> <m5q4rgFbtc4U1@mid.individual.net> |
On 2025-04-10 15:02, Peter Heitzer <peter.heitzer@rz.uni-regensburg.de> wrote:
> Hermann Riemann <nospam.ng@hermann-riemann.de> wrote:
>>Das Ergebnis von -1//2 ist laut Python3 -1
>>Wegen Vorzeichen shift?
> Der Operator // macht eine Floor Division und math.floor(-0.5) ergibt
> -1.
Die Floor-Division in Python ist allerdings etwas ungewöhnlich.
Sie hat aber den Vorteil, dass sowohl
a // b * b + a % b == a
gewährleistet ist als auch dass
a % b
zwischen 0 und b liegt.
Die meisten Programmiersprachen runden bei Integer-Division Richtung 0
("abschneiden").
Damit ist nur mehr eine der beiden Bedingungen erfüllbar.
In C oder PostgreSQL ist es die erste (dafür liegt dann a % b zwischen
-b und b).
In Perl ist der % Operator so wie in Python definiert, aber Perl hat
keine echte Integer-Division, also ist schwer zu sagen, wie die
definiert wäre, wenn es sie gäbe. In den Fällen, wo Perl einen Integer
erwartet (z.B. als Array-Index) und einen Float-Wert bekommt, schneidet
es aber ab, was nahelegt, dass die Gleichung nicht erfüllt wäre.
hjp
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
-1//2 Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-04-10 16:50 +0200
Re: -1//2 "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2025-04-10 15:02 +0000
Re: -1//2 "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-04-10 20:08 +0200
Re: -1//2 "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-04-23 22:10 +0200
Re: -1//2 Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-04-11 06:27 +0200
Re: -1//2 "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2025-04-11 08:04 +0000
Re: -1//2 Patrick Rudin <taxi_bs@gmx.ch> - 2025-04-11 13:18 +0200
csiph-web