PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2020/09/10 19:34:54
Name 와칸나이
Subject [질문] 컴퓨터에서 0.999...
컴퓨터는 무한한 소수점을 저장하지 못하잖아요?

소수점 저장에 한계가 있으니 실제로 저장된 binary 뜯어보면 0.999999999999987 이런 식일텐데

그렇다면 컴퓨터 메모리에 저장되는 0.999... 는 수학적으로 0.999... 가 아니란건데,

0.999... == 1 으로 처리하는 이유가


0.999... 가 1의 매크로로 되있어서 그런가요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
20/09/10 20:20
수정 아이콘
(수정됨) (부동소수점 연산으로 계산한다는 가정 하에) 0.999... 를 만들 때 계산 방법에 따라 우연히 1이 되었을 뿐 실제로 1이 되지 않는 경우도 만들 수 있습니다. 예를 들면

$ python
Python 3.7.7 (default, Jun 23 2020, 16:24:29)
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/49*49
0.9999999999999999
>>> 1/49*49 == 1
False

그래서 보통은 실수 두 개를 비교할 때에는 두 숫자가 같은 (==) 것으로 비교하지 않고, 두 숫자의 차이가 오차범위 이내인지를 판별하는 것이 보통입니다.
와칸나이
20/09/10 20:51
수정 아이콘
애초에 컴퓨터에 저장되는 실수가 정확도가 떨어지니까 오차범위로 판단할 수 밖에 없겠네요.

두 소수가 같다 혹은 다르다를 규정하는 소수점 오차범위는 CPU에 정의된 부분인지 궁금증이 생기네요.
20/09/10 21:06
수정 아이콘
소수를 컴퓨터로 표현하는 방법이 표준으로 정해져 있고 (IEEE 754), 보통의 CPU의 경우 이것을 기준으로 구현되어 있습니다. 이 표준에 의하면 널리 쓰이는 64bit 자료형의 경우 2진법으로 53개의 유효숫자를 가질 수 있습니다. 즉 2진법으로 53개의 유효숫자(와 지수)가 같으면, 같은 숫자로 인식되는거죠.
와칸나이
20/09/11 11:38
수정 아이콘
오오 감사합니다. 표준이 있었군요!
이유진
20/09/10 20:23
수정 아이콘
부동소수점은 일단 정확하지 않습니다. C++ 은 정확도가 기본 6자리까지 일껀데요.
0.999999를 넘어가는 숫자부터 오차가 생겨서 1로 인식이 되는거 같습니다.
테스트해보니 0.9999998 == 1 도 값은 true네요.
20/09/10 20:24
수정 아이콘
이거보고 열심히 부동소수점 생각하다가 윈도 계산기의 꿋꿋함에 감탄하고 갑니다....
닉네임을바꾸다
20/09/10 21:34
수정 아이콘
뭐 거기에 일단 2진법이니...
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
148449 [질문] 롤 라인전 잘한다는게 꼭 솔로킬을 따야하는 건가요? [23] YAN8856 20/09/14 8856
148448 [질문] 모니터 분해 조립 해보신 분 계신가요? [4] LucasTorreira_115648 20/09/14 5648
148447 [질문] [런닝머신] 부모님 런닝머신용으로 렌탈어떤가요? 사는게 나으려나요??. [2] Gra4988 20/09/14 4988
148446 [질문] [운전면허] 실내운전연습장(시뮬레이터) 어떤가요? [8] Finding Joe5321 20/09/14 5321
148445 [질문] 부동산 조언 부탁드립니다(비규제지역, 지방) [13] 부처5925 20/09/14 5925
148444 [질문] 신경치료 도중 이빨이 부서졌습니다. [4] 구승빈과김종인7039 20/09/14 7039
148443 [질문] 2560 해상도 지원 모니터 사용하시는분 계신가요? [1] BlueSKY--5490 20/09/14 5490
148442 [질문] 삼성 임직원몰에서 폰 구매 시 [5] 2035812103 20/09/14 12103
148441 [질문] 작가가 진짜 천재적인(?) 만화 없나요 [40] 은때까치10099 20/09/14 10099
148440 [질문] 무선마우스에 대해서 [3] 이츠키쇼난5252 20/09/14 5252
148439 [질문] 나홀로 1박2일 제주(비행기/음식점/기타) [2] 꿀행성6406 20/09/14 6406
148438 [질문] 폴드2 사전예약 내일까지던데 쿠팡이 가장 싼가요 [14] Lelouch5472 20/09/14 5472
148437 [질문] 안드로이드폰에서 유튜브의 특정 영상만 음성의 싱크가 안맞는 현상? [3] 정지연6289 20/09/14 6289
148436 [질문] 엑셀을 저장 전으로 돌릴 수 있는 법 없을까요? [4] 퍼플레임5859 20/09/14 5859
148435 [질문] 메일 파일 (eml) 관리 방법 [4] MelOng6615 20/09/14 6615
148434 [삭제예정] [북미] 전손 차량 관련 보험회사와 합의 과정 질문 있습니다. [4] 엔지니어6660 20/09/14 6660
148433 [질문] 2000년대 이전에 나온 로봇대전게임을 알고싶습니다 [12] 시오냥6066 20/09/14 6066
148432 [질문] 크롬 쓰는데 글자가 생략돼서 나옵니다. [2] 그런거없어5739 20/09/13 5739
148431 [질문] 외롭네요... mmorpg 추천좀 부탁해요! [19] 세이밥누님8726 20/09/13 8726
148430 [질문] 컴퓨터 사양 최종질문입니다 ㅠㅠ 고수님들 답변부탁드려요 [5] 조현5694 20/09/13 5694
148429 [질문] 데스크탑 전원이상 관련 질문... [2] 추대왕6084 20/09/13 6084
148428 [질문] uhd 맛뵈기 견적으로 이거 어떨까요? [2] U-Nya6765 20/09/13 6765
148426 [질문] 회사에 집밍아웃(?) 해도 되나요 크크... [20] 연애잘합니다8480 20/09/13 8480
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로