정수의 최대 값 및 최소값
파이썬에서 정수의 최소값과 최대 값을 찾고 있습니다. 예를 들어, Java에서는 Integer.MIN_VALUE
및 Integer.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.maxint
L
>>> 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_t
C / 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
'your programing' 카테고리의 다른 글
파이썬에서 사전 키를 목록으로 반환하는 방법은 무엇입니까? (0) | 2020.10.02 |
---|---|
스캐너가 next () 또는 nextFoo ()를 사용한 후 nextLine ()을 건너 뛰나요? (0) | 2020.10.02 |
Java에서 equals 및 hashCode를 재정의 할 때 고려해야 할 문제는 무엇입니까? (0) | 2020.10.02 |
HTML Agility Pack 사용 방법 (0) | 2020.10.02 |
static_cast를 사용하는 이유 (0) | 2020.10.02 |