たとえばC ++のように、長整数の最大値を変数に割り当てるにはどうすればよいですかLONG_MAX。
min、もしあなたが本当にPythonでプログラムしたいなら、関数を使う方が良いです!)
float("inf")。または、組み込みmin関数を使用します。
たとえばC ++のように、長整数の最大値を変数に割り当てるにはどうすればよいですかLONG_MAX。
min、もしあなたが本当にPythonでプログラムしたいなら、関数を使う方が良いです!)
float("inf")。または、組み込みmin関数を使用します。
回答:
明示的に定義された制限はありません。使用可能なアドレス空間の量は、実際的な制限になります。
(このサイトから取得)。数値型のドキュメントを参照してくださいLong integers have unlimited precision。Python 2では、整数は制限を超えたときに自動的にlongに切り替わります。
>>> import sys
>>> type(sys.maxsize)
<type 'int'>
>>> type(sys.maxsize+1)
<type 'long'>
私たちが持っている整数について
intの最大値は、Python 2.xとで見つかりsys.maxintます。Python 3で削除されましたsys.maxsizeが、多くの場合、代わりに使用できます。変更ログから:
整数の値に制限がなくなったため、sys.maxint定数が削除されました。ただし、sys.maxsizeは、実際のリストまたは文字列インデックスよりも大きい整数として使用できます。これは、実装の「自然な」整数サイズに準拠し、通常、同じプラットフォーム上の以前のリリースのsys.maxintと同じです(同じビルドオプションを想定)。
そして、違いに興味がある人のために(Python 2.x):
sys.maxint Pythonの通常の整数型でサポートされる最大の正の整数。これは少なくとも2 ** 31-1です。最大の負の整数は-maxint-1です。非対称性は、2の補数のバイナリ算術を使用した結果です。
sys.maxsizeプラットフォームのPy_ssize_t型でサポートされている最大の正の整数、つまり最大サイズのリスト、文字列、辞書、およびその他の多くのコンテナが持つことができる。
完全を期すために、Python 3のバージョンを次に示します。
sys.maxsize Py_ssize_t 型の変数がとることができる最大値を与える整数。通常、32ビットプラットフォームでは2 ^ 31-1、64ビットプラットフォームでは2 ^ 63-1です。
そこだfloat("inf")とfloat("-inf")。これらは他の数値型と比較できます:
>>> import sys
>>> float("inf") > sys.maxsize
True
Python longは任意に大きくできます。他のどの値よりも大きい値が必要な場合float('inf')は、Pythonを使用してさまざまな型の数値を比較するのに問題がないため、を使用できます。同様に、他のどの値よりも小さい値の場合は、を使用できますfloat('-inf')。
整数のサイズは無制限で、Pythonでは最大値はありません。
あなたがやろうとしていることについてのあなたのコメントによると、あなたは現在、
minval = MAXINT;
for (i = 1; i < num_elems; i++)
if a[i] < a[i-1]
minval = a[i];
それはPythonでの考え方ではありません。Pythonへのより良い翻訳(しかし、まだ最高ではありません)は
minval = a[0] # Just use the first value
for i in range(1, len(a)):
minval = min(a[i], a[i - 1])
上記はMAXINTをまったく使用しないことに注意してください。ソリューションのその部分は、すべてのプログラミング言語に適用されます。コレクション内の最小値を見つけるためだけに、可能な最大値を知る必要はありません。
とにかく、Pythonで実際に行うことは
minval = min(a)
つまり、ループをまったく記述しません。組み込みmin()関数は、コレクション全体の最小値を取得します。
python3では、float値をint関数に送信して、その数値1.7976931348623157e + 308を整数表現で取得できます。
import sys
int(sys.float_info.max)