V programiranju, maxint/INT_MAX označuje najvišjo vrednost, ki jo je mogoče predstaviti s celim številom. V nekaterih primerih bomo med programiranjem morda morali dodeliti vrednost, ki je večja od katere koli druge celoštevilske vrednosti. Običajno se takšne vrednosti dodelijo ročno. Na primer, razmislite o seznamu celih števil, kjer je treba najmanjšo vrednost najti z uporabo a za zanko .
Python
# initializing the list> li>=> [>1>,>->22>,>43>,>89>,>2>,>6>,>3>,>16>]> > # assigning a larger value manually> curr_min>=> 999999> > # loop to find minimum value> for> i>in> range>(>0>,>len>(li)):> > ># update curr_min if a value lesser than it is found> >if> li[i] curr_min = li[i] print('The minimum value is ' + str(curr_min))> |
>
>Izhod
The minimum value is -22>
V zgornjem pristopu predpostavljamo, da 999999 je največja možna vrednost na našem seznamu in jo primerjajte z drugimi elementi, da posodobite, ko je najdena vrednost, nižja od te.
sys modul v Pythonu
Ta modul se uporablja za interakcijo s tolmačem in za dostop do spremenljivk, ki jih vzdržuje tolmač. Uporablja se lahko za izvajanje manipulacij v izvajalnem okolju. Tega je treba uvoziti tako kot druge pakete, da lahko izkoristite funkcije v njem. Pythonov sys modul ponuja različne funkcije in konstante, med katerimi je konstanta maxint , ki ga lahko uporabite za nastavitev vrednosti pozitivnega celega števila, ki je zajamčeno večja od katerega koli drugega celega števila. Oglejte si spodnji primer.
Python
# import the module> import> sys> > # initializing the list> li>=> [>1>,>->22>,>43>,>89>,>2>,>6>,>3>,>16>]> > # assigning a larger value with> # maxint constant> curr_min>=> sys.maxint> > # loop to find minimum value> for> i>in> range>(>0>,>len>(li)):> > ># update curr_min if a value lesser> ># than it is found> >if> li[i] curr_min = li[i] print('The minimum value is ' + str(curr_min))> |
kako najti velikost monitorja
>
>Izhod
The minimum value is -22>
V zgornjem programu namesto ročne dodelitve večje vrednosti sys.maxint se uporablja. Ta konstanta je podprta v različici Python 2.x. Vrednost, označena s konstanto, se lahko izračuna kot:
maxint = 231– 1 (v 32-bitnem okolju)
maxint = 263– 1 (v 64-bitnem okolju)
noter Python 2 , dodajanje 1 maxintu daje največjo možno dolgo int in v Python 2.7 , odštevanje 1 od maksinta da najmanjša možna vrednost za celo število .
Python
# import the module> import> sys> > max_int>=> sys.maxint> min_int>=> sys.maxint>->1> long_int>=> sys.maxint>+>1> > print>(>'maxint :'>+>str>(max_int)>+>' - '>+>str>(>type>(max_int)))> print>(>'maxint - 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(min_int)))> print>(>'maxint + 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(long_int)))> |
>
niz nizov v programiranju c
>Izhod
maxint :9223372036854775807 - maxint - 1 :9223372036854775807 - maxint + 1 :9223372036854775807 ->
Ta konstanta je bila odstranjena iz Python 3 , saj se v tej različici šteje, da so cela števila poljubne dolžine. Če uporabljate to konstanto v Python 3, boste prejeli naslednjo napako. Razmislite o istem primeru, kjer je treba element najmanjše vrednosti najti s seznama.
Python3
blokiranih stikov
import> sys> > # initializing the list> li>=> [>1>,>->22>,>43>,>89>,>2>,>6>,>3>,>16>]> > # assigning a larger value with maxint constant> curr_min>=> sys.maxint> > # loop to find minimum value> for> i>in> range>(>0>,>len>(li)):> > ># update curr_min if a value lesser than it is found> >if> li[i] curr_min = li[i] print('The minimum value is ' + str(curr_min))> |
>
>
Izhod:
AttributeError: module 'sys' has no attribute 'maxint'>
Ta konstanta je bila odstranjena, ker ni bilo več omejitev za vrednost celih števil. noter Python 3, je bila uvedena konstanta, podobna tej, ki je sys.maxsize . To vrne najvišjo možno celoštevilsko vrednost tipa spremenljivke Py_ssize_t prav tako pa označuje velikost kazalca platforme. Šteje se, da ta največja velikost omejuje velikost različnih podatkovnih struktur, kot so nizi in seznami. Druga stvar, ki jo je treba opozoriti, je, da v Pythonu 3 int in dolgo int so združeni v eno. Za boljše razumevanje si oglejte spodnji primer.
Python3
# import the module> import> sys> > # using sys.maxsize> max_int>=> sys.maxsize> min_int>=> sys.maxsize>->1> long_int>=> sys.maxsize>+>1> > print>(>'maxint :'>+>str>(max_int)>+>' - '>+>str>(>type>(max_int)))> print>(>'maxint - 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(min_int)))> > # the data type is represented as int> print>(>'maxint + 1 :'>+>str>(max_int)>+>' - '>+>str>(>type>(long_int)))> |
>
>Izhod
maxint :9223372036854775807 - maxint - 1 :9223372036854775807 - maxint + 1 :9223372036854775807 ->