2016-11-06 5 views
3

inf-inf을 파이썬 2.7에서 int으로 정의하는 방법을 궁금합니다. 노력했지만 inf-inffloat으로 만 작동합니다.파이썬 2.7에서 무한대를 정수로 표현하십시오.

a = float('-inf') # works 
b = float('inf') # works 

c = int('-inf') # compile error, ValueError: invalid literal for int() with base 10: 'inf' 
d = int('inf') # compile error, ValueError: invalid literal for int() with base 10: 'inf' 
+3

무한대를 정수로 표시 할 수는 없지만 부동 소수점 표현에 허용되는 특별한 경우가 있습니다. 부동 소수점 표현을 사용해야합니다. – Jezzamon

+0

@Jezzamon, int를 나타내는 inf/-inf의 부동 소수점 표현 사용? 어떻게 보여줄 수 있니? 'type (float)'! ='type (int)', float를 int로 변환하려면 명시적인 타입 변환이 필요합니까? –

+0

@Jezzamon, 나는'double ('inf')와'double ('- inf')로 보이지 않았다. –

답변

7


파이썬의 정수로 무한대를 나타내는 방법은 없습니다 코멘트

에 무슨 말을했는지 요약합니다. 이는 다른 많은 언어의 동작과 일치합니다. 그러나 파이썬의 동적 타이핑 시스템으로 인해 정수 대신 float('inf')을 사용할 수 있으며 예상대로 동작합니다.

무한대의 'double'을 만드는 한, 부동 소수점 숫자에 다른 정밀도를 사용하는 Java와 같은 다른 언어와 달리, float이라는 부동 소수점 유형이 하나만 있습니다. Python에서는 floating point numbers usually use double-precision이므로 Java에서 double 형으로 동작합니다.

관련 문제