유튜브 보다 보니. 1.1 + 0.1 이 1.2 가 아니라는 유튜브 영상도 보네요..
M
masquerade (121.♡.168.68)
2025년 8월 10일 PM 09:02 · 수정됨(22:26)
조회 1,102 공감 0
댓글 (4)
-
ㄱㄱㅡ
25.08.10 · 112.♡.175.146
궁금해서 ai에 물어보니 2진수 표기가 어렵기 때문에 발생되는 문제 라고 하는 군요 ㄷㄷ -
쩝쩝쩝박사
25.08.10 · 222.♡.88.247
소수점으로 표현할 때는 0.5, 0.25, 0.125, 0.0625 이런식으로
1/(2^n) 값들의 합계로만 표현을 해야 하는데 (IEEE 754 에 정의되어 있습니다.)
0.1은 저 숫자들의 합으로 표현하면 정확하게 0.1이 안나오고 0.100000001490116119384765625 이런식으로 나옵니다. -
JJava
25.08.10 · 116.♡.70.94
기본형 변수(float, double 등)로 10진수 소숫점 이하를 2진수로 완벽 변환이 안되는 수들이 있죠.
그런 수들은 그 근사치로 변환되게 됩니다.
그런 경우의 문제일겁니다.
일반적인 계산기들은 그걸 보정해서 보여주죠.
해서,
java 같은 경우 금액 같은것은 BigDecimal, BigInteger(정수 큰수를 사용할때) 등을 써야 하고요.
Oracle은 Number 등을 써야 하고 그렇습니다. -
Aaicasse
25.08.10 · 173.♡.106.233
십진법의 경우에는 기약분수의 분모가 2, 5 외의 다른 솟수로 나눠떨어지면 무한소수가 나오죠. 이건 10이 2 곱하기 5라서…
근데 컴퓨터는 내부적으로 2진법을 이용하므로, 기약분수의 분모가 2 외의 다른 솟수로 나눠떨어지면 무한소수가 나옵니다. 이걸 보여주기 위해 다시 십진법으로 바꿔도 이미 부정확하죠.
댓글을 작성하려면 이 필요합니다.
