Целочисленные диапазоны Python

В Python существует ли способ получить наибольшее целое число, которое можно использовать? Есть ли определенная константа, такая как long_MAX?

python,integer,

66

Ответов: 2


118 принят

Python имеет произвольные целые числа точности, поэтому нет истинного фиксированного максимума. Вы ограничены доступной памятью.

В Python 2 существует два типа longи sys.maxint. ints использует тип C, а ints - произвольная точность. Вы можете использовать, longчтобы найти максимум . Но s автоматически повышается , поэтому вам обычно не нужно беспокоиться об этом:sys.maxint + 1intlong

sys.maxint

отлично работает и возвращает a int.

longдаже не существует в Python 3, поскольку intи intбыли объединены в один произвольный intтип точности .


-1
import re
import sys
import platform
import struct

formats = {
          "int":{"p_type":"integer", "format":"i"},
          "float":{"p_type":"float", "format":"f"},
          "double":{"p_type":"float", "format":"d"}
          }    

sys_bit = int(re.findall(r"d+", platform.architecture()[0])[0])/8
for k,v in formats.iteritems():
    print "max {0} {1}".format(k, 2**struct.Struct(v["format"]).size*sys_bit-1)-1)
    print "min {0} {1}".format(k, -2**struct.Struct(v["format"]).size*sys_bit-1))
Python, целое число,