실수형2 0.1 + 1.1 == 1.2 문제 (feat. 부동소수점) 왜 이런 문제가 발생할까? 실수 표현 방법 고정 소수점 방식 (Fixed Point) 실수는 보통 정수부와 소수부로 나누어 표기한다. 따라서 실수를 표현하는 가장 간단한 방식은 소수부의 자릿수를 미리 정하여, 고정된 자릿수의 소수를 표현하는 것이다. 장점 : 단순하다. 단점 : 표현 범위가 적다. 부동 소수점 방식(Floating Point) 하나의 실수를 가수부와 지수부로 나누어 표현하는 방식이다. (不動이 아니라 浮動이다) 지수부 : 크기를 표현함. 가수의 어디쯤에 소수점이 있는지 나타냄 가수부 : 실수의 실제값 표현 지수의 값에 따라 소수점이 움직이는 방식을 활용한 실수 표현 방법이다. 장점 : 범위가 넓다(현재 대부분 시스템에서 사용 중) 단점 : 오차 발생 가능성 부동소수점의 오차 1보다 작은 .. 2023. 5. 23. [C++] pow함수 double 형의 정확성 문제 https://www.acmicpc.net/problem/1740 1740번: 거듭제곱 3의 제곱수를 생각하자. 3의 0제곱, 3의 1제곱, 3의 2제곱, ... 은 순서대로 1, 3, 9, 27, ... 이 된다. 이를 바탕으로, 한 개 이상의 서로 다른 3의 제곱수의 합으로 표현되는 수를 생각할 수 있다. 예를 www.acmicpc.net 해당 문제를 풀다가 발견한 문제.. 분명 로직은 맞는데 어디서 틀린건지? 으잉? 분명 (맨앞) 1비트씩 차이나는데 왜 pow로 곱한 값은 같은 거지????? 문제를 발견하고 뒤적이기 시작했다. 아..하.. 실수 연산의 차이... 부동소수점.... 2023. 4. 30. 이전 1 다음