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진법이니...
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
148409 [삭제예정] 코로나 시국에 결혼식을 올렸습니다. 축의금이 들어온것에 대한 답례가 고민이네요 [7] 쿄쿄뵤뵤8010 20/09/12 8010
148408 [질문] 전력질주 몇미터까지 가능하십니까? [5] 풀풀풀5238 20/09/12 5238
148407 [삭제예정] 지금 스포티비 로그인 잘 되시나요? [8] 삭제됨5364 20/09/12 5364
148405 [질문] 이게 어떤 버섯인가요? [7] 산양7587 20/09/12 7587
148404 [질문] 유튜브 봤던곳부터 보는 기능 끄는 법 있을까요? [4] 로트리버6294 20/09/12 6294
148403 [질문] 구글 앱스 스크립트나 자바에 대해 알고 계신분께 문의 [4] 솔지6584 20/09/12 6584
148402 [질문] 상처 밴드랑 붕대 질문드립니다 [3] 정발산기슭곰발냄새4577 20/09/12 4577
148401 [질문] 공포 소설 추천 부탁드립니다. [4] Arya Stark5885 20/09/12 5885
148400 [질문] 컴퓨터 모니터와 그래픽카드 질문입니다. [1] 시원한녹차4886 20/09/12 4886
148399 [질문] 미성년자 패드립 처벌이 어떻게 되나요? [5] 레너블7303 20/09/12 7303
148398 [질문] 전기면도기 추천 부탁드립니다! [2] 운수4750 20/09/12 4750
148397 [질문] 컴퓨터 완전히 안 끄고 절전모드로 뒀다가 쓰면 안좋나요? [2] Ragamuffin9236 20/09/12 9236
148396 [질문] [게임] 다양한 레벨디자인을 느낄 수 있는 모바일게임? 독주5329 20/09/12 5329
148395 [질문] 조국등.. 최근 정치 이슈 깔끔하게 정리된 곳이 있을까요? [11] grrrill5098 20/09/12 5098
148394 [질문] 아이패드 vs 갤럭시탭 구매 고민입니다 [10] 삭제됨6891 20/09/12 6891
148393 [질문] 완전 꽁돈 생겼을 때 한번쯤은 가볼만한 서울 음식점 추천부탁드립니다. [14] 강미나5136 20/09/12 5136
148392 [질문] 원도우10에서 구현한 raid5 복구방법 MissNothing4732 20/09/12 4732
148391 [질문] [가디언테일즈] 향후 진로 문의 [2] 햇여리4866 20/09/12 4866
148390 [질문] 을왕리 음주 사망사건 말입니다 [9] 삭제됨6710 20/09/12 6710
148389 [질문] 사드시는 김치 추천 좀 부탁드립니다~ [5] 핸드레이크6133 20/09/12 6133
148388 [질문] TV로 유튜브 노래방 환경 만들어 보려고 하는데 어떤게 필요한가요? [4] Demi4840 20/09/11 4840
148387 [질문] 전세보증보험 가입 가능 여부는 어떻게 확인하죠? [1] 체르마트5180 20/09/11 5180
148386 [질문] 살 찌우기 위한 음식을 추천해 주세요 [40] funk6923 20/09/11 6923
목록 이전 다음
댓글

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