음... 대충 이해하기론 내가 소수를 쓰면 컴터가 그걸 이진법으로 그 값을 온전히 인식하고 저장하지 못할 때가 있어서 계산이 틀어지는 거임?
글쓴 Indie(121.169)2025-03-29 06:27:00
답글
넹 2의 배수로 나눈 숫자가 아니면 무조건 저런식으로 된다고 보면 됨
ty(profound9724)2025-03-29 06:29:00
답글
1.25*1.25는 온전하게 계산될것임
ty(profound9724)2025-03-29 06:29:00
답글
그럼 저 현상을 방지하는 방법이 있음?
글쓴 Indie(121.169)2025-03-29 06:31:00
답글
가령 출력값을 정수만 뽑는다거나 계산식을 바꾼다거나
글쓴 Indie(121.169)2025-03-29 06:31:00
답글
그래서 보통 프로그래밍 할때는 오차 있어도 괜찮은거 아니면 정수로 바꿔서 써요
ty(profound9724)2025-03-29 06:33:00
답글
아... 계산식을 정수로
저 문제가 날마다 10%씩 값이 오르는 물건의 이틀 뒤 가격을 구하는 거였는뎅
월요일가격 = 10000
화요일가격 = 10000 * 11
수요일가격 = (화요일가격 * 11) / 100
pint(수요일가격)
이렇게 하니까 12100.0 으로 깔끔하게 출력됐네! 문제해결 감사!
글쓴 Indie(121.169)2025-03-29 06:37:00
부동 소숫점 오류임
2진법 상에서 0.1, 0.2 이런 소수 표현하려면, 0.00110011.... 뭐 이런식으로 순환소수가 생겨버리는데 자료형 길이에는 한계가 있어서 생기는 일
그래서 0.5, 0.25같이 정확히 2의 거듭제곱꼴은 부동소숫점 오류가 안생김
https://youtu.be/-GsrYvZoAdA?si=7bq2PIOcVzRKWpS2
음... 대충 이해하기론 내가 소수를 쓰면 컴터가 그걸 이진법으로 그 값을 온전히 인식하고 저장하지 못할 때가 있어서 계산이 틀어지는 거임?
넹 2의 배수로 나눈 숫자가 아니면 무조건 저런식으로 된다고 보면 됨
1.25*1.25는 온전하게 계산될것임
그럼 저 현상을 방지하는 방법이 있음?
가령 출력값을 정수만 뽑는다거나 계산식을 바꾼다거나
그래서 보통 프로그래밍 할때는 오차 있어도 괜찮은거 아니면 정수로 바꿔서 써요
아... 계산식을 정수로 저 문제가 날마다 10%씩 값이 오르는 물건의 이틀 뒤 가격을 구하는 거였는뎅 월요일가격 = 10000 화요일가격 = 10000 * 11 수요일가격 = (화요일가격 * 11) / 100 pint(수요일가격) 이렇게 하니까 12100.0 으로 깔끔하게 출력됐네! 문제해결 감사!
부동 소숫점 오류임 2진법 상에서 0.1, 0.2 이런 소수 표현하려면, 0.00110011.... 뭐 이런식으로 순환소수가 생겨버리는데 자료형 길이에는 한계가 있어서 생기는 일 그래서 0.5, 0.25같이 정확히 2의 거듭제곱꼴은 부동소숫점 오류가 안생김
문과대가리 살살녹아요
쉽게 말해서 수1에 있던 등비급수의 합을 무한히 이어가는거라고 생각하면 됨
님 선생님하면 안되겟다 - dc App
ㅋㅋㅋㅋ
파이썬 너무 싫엉.