your programing

정수의 최대 값 및 최소값

lovepro 2020. 10. 2. 23:02
반응형

정수의 최대 값 및 최소값


파이썬에서 정수의 최소값과 최대 값을 찾고 있습니다. 예를 들어, Java에서는 Integer.MIN_VALUEInteger.MAX_VALUE. 파이썬에 이와 같은 것이 있습니까?


파이썬 3

Python 3에서는이 질문이 적용되지 않습니다. 일반 int유형은 제한되지 않습니다.

그러나 실제로 컴퓨터의 단어 크기를 찾고있을 수 있습니다 . Python 3에서 sys.maxsize.

파이썬 2

Python 2에서 일반 int의 최대 값은 다음과 같이 사용할 수 있습니다 sys.maxint.

>>> sys.maxint
9223372036854775807

여기에-sys.maxint - 1 표시된대로 최소값을 계산할 수 있습니다 .

Python은이 값을 초과하면 일반 정수에서 긴 정수로 원활하게 전환됩니다. 따라서 대부분의 경우이를 알 필요가 없습니다.


sys.maxint 상수는 Python 3.0 이상에서 제거되었으며 대신 sys.maxsize 를 사용 하십시오.

정수

  • PEP 237 : 본질적으로 오랫동안 이름이 int로 변경되었습니다. 즉, int라는 내장 정수 유형이 하나뿐입니다. 그러나 그것은 대부분 오래된 long 유형처럼 작동합니다.
  • PEP 238 : 1/2과 같은 표현식은 부동 소수점을 반환합니다. 자르기 동작을 얻으려면 1 // 2를 사용하십시오. (후자의 구문은 최소한 Python 2.2 이후로 수년 동안 존재했습니다.)
  • 더 이상 정수 값에 제한이 없으므로 sys.maxint 상수가 제거되었습니다. 그러나 sys.maxsize는 실제 목록이나 문자열 인덱스보다 큰 정수로 사용할 수 있습니다. 구현의 "자연"정수 크기를 따르며 일반적으로 동일한 플랫폼에서 이전 릴리스의 sys.maxint와 동일합니다 (동일한 빌드 옵션을 가정).
  • 긴 정수의 repr ()은 더 이상 후행 L을 포함하지 않으므로 해당 문자를 무조건 제거하는 코드는 대신 마지막 숫자를 잘라냅니다. (대신 str ()을 사용하십시오.)
  • 8 진 리터럴은 더 이상 0720 형식이 아닙니다. 대신 0o720을 사용하십시오.

참조 : https://docs.python.org/3/whatsnew/3.0.html


다른 모든 것보다 더 큰 숫자가 필요한 경우 다음을 사용할 수 있습니다.

float('inf')

비슷한 방식으로 다른 모든 것보다 작은 숫자 :

float('-inf')

이것은 파이썬 2와 3 모두에서 작동합니다.


Python에서 정수는 플랫폼에 따라 2 31-1 또는 2 63-1 값을 전달하면 고정 크기 int표현에서 가변 너비 long표현 으로 자동 전환 됩니다. 통지 여기에 추가 가도록를 :sys.maxintL

>>> 9223372036854775807
9223372036854775807
>>> 9223372036854775808
9223372036854775808L

로부터 파이썬 설명서 :

숫자는 숫자 리터럴 또는 내장 함수 및 연산자의 결과로 생성됩니다. 장식되지 않은 정수 리터럴 (2 진수, 16 진수 및 8 진수 포함)은 나타내는 값이 너무 커서 일반 정수로 표현할 수없는 경우 일반 정수를 생성합니다.이 경우 긴 정수가 생성됩니다. 'L'또는 'l'접미사 가있는 정수 리터럴은 긴 정수를 생성합니다 ( 11과 너무 비슷해 보이기 'L'때문에 선호됩니다 1l!).

파이썬은 그 정수가 수학적 정수이고 제한이없는 척하려고 매우 열심히 노력합니다. 예를 들어 googol 을 쉽게 계산할 수 있습니다.

>>> 10**100
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L

Python 3의 경우

import sys
max = sys.maxsize
min = -sys.maxsize -1

배열 또는 목록 인덱스에 대한 최대 값 ( size_tC / C ++에서 와 동일 )을 원하는 경우 numpy를 사용할 수 있습니다.

np.iinfo(np.intp).max

This is same as sys.maxsize however advantage is that you don't need import sys just for this.

If you want max for native int on the machine:

np.iinfo(np.intc).max

You can look at other available types in doc.

For floats you can also use sys.float_info.max.


I rely heavily on commands like this.

python -c 'import sys; print(sys.maxsize)'

Max int returned: 9223372036854775807

For more references for 'sys' you should access

https://docs.python.org/3/library/sys.html

https://docs.python.org/3/library/sys.html#sys.maxsize


You may use 'inf' like this:

import math
bool_true = 0 < math.inf
bool_false = 0 < -math.inf

Refer: math — Mathematical functions

참고URL : https://stackoverflow.com/questions/7604966/maximum-and-minimum-values-for-ints

반응형