유튜브 보다 보니. 1.1 + 0.1 이 1.2 가 아니라는 유튜브 영상도 보네요..
masquerade

Lv.1 masquerade (121.♡.168.68)

2025년 8월 10일 PM 09:02 · 수정됨(22:26)

조회 1,102 공감 0

허허








https://youtu.be/ltE-OVp_dbo?si=1U4_fBWlr7XezyrZ


전....아무것도 몰라요....~~~~~~~~

댓글 (4)

  • ㄱㅡ

    ㄱㅡ Lv.1

    25.08.10 · 112.♡.175.146

    궁금해서 ai에 물어보니 2진수 표기가 어렵기 때문에 발생되는 문제 라고 하는 군요 ㄷㄷ
  • 쩝쩝박사

    쩝쩝박사 Lv.1

    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 이런식으로 나옵니다.
  • Java

    Java Lv.1

    25.08.10 · 116.♡.70.94

    기본형 변수(float, double 등)로 10진수 소숫점 이하를 2진수로 완벽 변환이 안되는 수들이 있죠.
    그런 수들은 그 근사치로 변환되게 됩니다.
    그런 경우의 문제일겁니다.
    일반적인 계산기들은 그걸 보정해서 보여주죠.
    해서,
    java 같은 경우 금액 같은것은 BigDecimal, BigInteger(정수 큰수를 사용할때) 등을 써야 하고요.
    Oracle은 Number 등을 써야 하고 그렇습니다.
  • aicasse

    aicasse Lv.1

    25.08.10 · 173.♡.106.233

    십진법의 경우에는 기약분수의 분모가 2, 5 외의 다른 솟수로 나눠떨어지면 무한소수가 나오죠. 이건 10이 2 곱하기 5라서…

    근데 컴퓨터는 내부적으로 2진법을 이용하므로, 기약분수의 분모가 2 외의 다른 솟수로 나눠떨어지면 무한소수가 나옵니다. 이걸 보여주기 위해 다시 십진법으로 바꿔도 이미 부정확하죠.

댓글을 작성하려면 이 필요합니다.