Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.1.LICZBY19
Zwróćmyuwagę,żewprzypadkudzieleniadwóchliczbcałkowitychotrzymaliśmy
liczbęzmiennopozycyjną.
>>>type(1/2)
<class)float)>
Cowięcej,wprzypadkudziałańnaróżnychtypachnastąpiłaautomatycznapromocja
typuszczegółowegodobardziejogólnego.Stądwwynikudziałania4*3.5otrzyma-
liśmywartośćtypufloat:
>>>type(4*3.5)
<class)float)>
Odnotujmytakże,żemnożenieidzieleniemawyższypriorytetniżdodawanie
iodejmowanie,cojestcałkowiciezgodneznasząmatematycznąintuicją:
>>>1+2*3
7
#tosamo,co1+(2*3)
Przyużyciunawiasówmożemyjednakwymusićinnąkolejnośćdziałań:
>>>(1+2)*3
9
Dzieleniecałkowiteiresztazdzielenia.Bardziejzaawansowanedziałanianaliczbach
uwzględniająm.in.powiązanezesobądzieleniecałkowitoliczboweorazresztęztakiego
dzielenia(tzw.dzieleniemodulo).Dladanychxiyoperacjetedefiniujemyjako:
x
y
=qzresztąr7
gdzieqjestwynikiemdzieleniacałkowitoliczbowego,aroperacjimodulo.Pierwsze
znichrealizujeoperatorbinarny//”,adrugie%”.Zachodziwięcx=q*y+r.
Naprzykład:
>>>7//3
2
>>>7%3
1
Cociekawe,dzielenietegotypumożemywykonaćtakżenaliczbachzmiennopozycyj-
nych,wtymujemnych.Bardziejformalnie,wpowyższymwzorzemamyq=x/y,
gdzie⌊u⌋=max{vZ:v<u}oznaczafunkcjępodłoga,tj.największąliczbę
całkowitąniewiększąniżdanyargument.Ponadtorjestzawszetakie,żer[07y)
albor(y70](wzależnościodznakuy).