[Swift] inf 에 사칙연산을 해보자

수 학 시 러 욕

naljin
4 min readOct 23, 2023

들어가기 전에

개-하! 예전에 0 이 아닌 수를 0.0 으로 나누면 infinity 가 나오는걸 [Swift] 1/0.0의 결과로 나오는 inf 는 무엇일까? 글을 통해 살펴봤는데여 (다짜고짜)

1.0 / 0.0 == inf  

이렇게 나온 inf 에 사칙연산을 해봅시다. 각 케이스에 대한 결과의 이유는 챗 지피티 답변을 적당히 긁어왔어요 ㅎ

아 본격적으로 들어가기 전에! 사실 수학적으로는 x * 0 = 0 이고, x / 0 은 불가능하잖아요? 따라서 아래 케이스에서 나오는 0.0 은 0 으로 수렴하는 값 정도로 생각하시면 좋으실것 같아요! 엄밀히 따지자면 1 / infinity 는 0 으로 수렴하는 값이지만, 컴퓨터 상에서는 0 으로 나오는 것처럼요?! 아니라면.. 댓글 달아주시든가여! (제발요)

그럼 ㄱㄱ!

연산

inf + inf == inf

무한대에 어떤 수를 더하거나 빼더라도 결과는 여전히 무한대입니다. 따라서 Swift에서 이 연산은 유효하며, 결과는 양의 무한대를 나타냅니다.

inf — inf == nan

수학적으로 정의되지 않은 값이므로 Swift에서 이 연산은 NaN(Not a Number)을 반환합니다. 이는 두 양의 무한대를 빼는 것이 수학적으로 무의미하다는 것을 나타냅니다. NaN은 “숫자가 아님”을 나타내는 특수한 부동 소수점 값으로, 정의되지 않거나 수학적으로 유효하지 않은 연산의 결과로 나타낼 때 사용됩니다.

inf / inf == nan

수학적으로 정의되지 않은 값이므로 Swift에서 이 연산은 NaN(Not a Number)을 반환합니다. 두 양의 무한대를 나누는 것은 정확한 값을 가지지 않기 때문에 이러한 결과가 나타납니다. NaN은 부동 소수점 연산에서 정의되지 않은 또는 무의미한 결과를 나타내기 위해 사용됩니다.

inf * inf == inf

Swift에서 두 양의 무한대를 곱한 결과로서 무한대를 반환합니다. 무한대에 어떤 수를 곱하더라도 결과는 여전히 무한대입니다. 이는 무한대가 끝없이 큰 값을 나타내므로 어떤 수를 곱하더라도 무한대가 됩니다. 따라서 Swift에서 이 연산은 유효하며, 결과는 양의 무한대를 나타냅니다.

inf / 1.0 == inf

무한대를 어떤 유한한 수로 나누어도 그 값은 여전히 무한대입니다. 따라서 이 연산은 Swift에서 유효하며, 결과는 양의 무한대를 나타냅니다.

inf / 0.0 == inf

Swift에서 어떤 수를 0으로 나눌 때, 결과는 무한대로 평가됩니다. 따라서 infinity / 0.0 은 Swift에서는 무한대를 반환합니다. 이는 부동 소수점 연산에서 일반적으로 정의된 동작입니다. 무한대는 어떤 수를 나누더라도 끝없이 큰 값을 나타냅니다. 따라서 해당 연산은 정의된 것이며 결과는 무한대입니다.

inf * 1.0 == inf

어떤 수를 1로 곱하면 그 수는 변하지 않기 때문에, 양의 무한대를 1로 곱해도 여전히 양의 무한대가 됩니다. Swift에서 이러한 연산은 정의되어 있으며, 결과는 양의 무한대입니다.

inf * 0.0 == nan

결과적으로 NaN (Not a Number)을 반환합니다. 이는 부동 소수점 연산에서 0.0에 무한대를 곱하면 정의되지 않은 값이 되기 때문입니다. 따라서 Swift에서 이 연산은 무의미하고 수학적으로 정의되지 않은 값인 NaN을 반환합니다.

참고로 x / 0.0 일때는, x 가 0 이냐, 아니냐에 따라서는 아래와 같이 결과가 달라집니다

1.0 / 0.0 == inf

1.0 / 0.0은 부동 소수점에서 0으로 나누는 것이 정의되어 있고 이 경우에는 양의 무한대 (Infinity)를 반환합니다. 이는 어떤 수를 0으로 나누면 그 결과가 무한히 커지는 것을 나타냅니다. 부동 소수점에서 어떤 양수를 0으로 나누면 무한대에 수렴합니다.

0.0 / 0.0 == nan

부동 소수점에서 0을 0으로 나누는 것은 정의되지 않은 연산입니다. 이는 수학적으로 의미가 없는 연산이므로 이 경우에는 NaN (Not a Number)을 반환합니다. NaN은 “숫자가 아님”을 나타내며, 부정확하거나 무의미한 연산의 결과로 나타낼 때 사용됩니다.

마무리

마무리는 우당탕탕 지피티와 함께..! 그럼 20000!

--

--