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진법이니...
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
148547 [질문] 저희집 식물들 이름 좀 부탁드립니다 [2] purplesoul5681 20/09/17 5681
148546 [질문] [던파]오늘 보상으로 나온템 엠블렘은 어떻게받아야하나요? [1] 쥬리5577 20/09/17 5577
148545 [질문] 아이패드 엑셀365 쓰시는 분 있나요? 하카세7759 20/09/17 7759
148544 [질문] 여러분은 게이밍 장비 어떻게 하시나요? [26] 아몬6968 20/09/17 6968
148543 [질문] 플스5 질문입니다 [8] 콜라제로8406 20/09/17 8406
148542 [질문] 중고아이패드 어느정도 사야 할까요 [11] StondColdSaidSo6993 20/09/17 6993
148541 [질문] [LOL]초보질문 [20] 아린어린이7111 20/09/17 7111
148540 [질문] 모니터 관련 질문입니다. [1] 카서스6991 20/09/17 6991
148539 [질문] 슬슬 롤 랭크를 돌려보려고 하는데 질문있습니다 [7] 인생은서른부터5989 20/09/17 5989
148538 [질문] 녹내장 진단을 받았는데 궁금한 사항들이 있습니다 [6] 달콤한인생5667 20/09/17 5667
148537 [질문] PS5도SSD 교체가능할까요? [8] 이바라쿠8194 20/09/17 8194
148536 [질문] 출산 준비물 질문드립니다. [17] 10000s7383 20/09/17 7383
148535 [질문] 영작 하나 질문 좀 드리겠습니다. [3] 타키쿤5743 20/09/17 5743
148534 [질문] 핸드폰 키보드 질문입니다. [4] Lelouch5131 20/09/17 5131
148533 [질문] 주식에 대해 궁금한 부분이 있습니다. [9] 빠나나5798 20/09/17 5798
148532 [질문] NBA 현역으로 드래프트를 한다면? (feat. 뻘질문) [13] 득이6417 20/09/17 6417
148531 [질문] 차별금지법이 생기면 출소하는 범죄자도 차별하면 안되는건가요? [3] 비가오는새벽5453 20/09/17 5453
148530 [질문] 주택매매 세금 관련 문의 드립니다 [4] 노예5121 20/09/17 5121
148529 [질문] 택배비 인상과 관련된 무식한 질문.... [18] 마르키아르5728 20/09/17 5728
148528 [질문] Ipados 14 업데이트 이후 4k 재생되는 분 있나요? [15] 삭제됨5077 20/09/17 5077
148527 [질문] 집 내부 올수리 질문 [11] 대고6416 20/09/17 6416
148526 [질문] 차세대 콘솔 구매 계획 [15] 파트리크5965 20/09/17 5965
148525 [질문] 의사들이 박사가 많은 이유? [13] 흰둥8860 20/09/17 8860
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기