GAJUNG21.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의 매크로로 되있어서 그런가요?

마속 나무위키 문서 2.3. 가정의 패전 인용

"그런데 여기서 마속은 제갈량의 명령을 무시하고 길목에 세워야 할 방어진지를 산 꼭대기에 세우는, 전쟁사상 다시 없을 바보짓을 한다.
부장 왕평이 필사적으로 말렸지만 이마저도 무시해버린다."
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진법이니...
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
148456 [질문] 갤럭시 탭 s5e 관련 질문 [5] 태정태세비욘세4849 20/09/14 4849
148455 [질문] 장모님이 보이스피싱을 당했습니다... [1] 잠이오냐지금6353 20/09/14 6353
148454 [질문] 대전 호에로 펜 볼 수 있는곳 있을까요? [1] alskdjf5803 20/09/14 5803
148453 [질문] avi 파일 용량 줄이는 법(인코딩?) [6] 삭제됨5582 20/09/14 5582
148452 [질문] 스팀이나 스위치용 2d rpg 추천 좀 부탁드립니다. [23] 귀여운호랑이8541 20/09/14 8541
148451 [질문] 강남이 비싼 이유는 뭔가요? [34] 스웨트9446 20/09/14 9446
148450 [질문] 모니터(또는 비디오카드) 고장 질문드립니다 [2] Meanzof3966 20/09/14 3966
148449 [질문] 롤 라인전 잘한다는게 꼭 솔로킬을 따야하는 건가요? [23] YAN8335 20/09/14 8335
148448 [질문] 모니터 분해 조립 해보신 분 계신가요? [4] LucasTorreira_115399 20/09/14 5399
148447 [질문] [런닝머신] 부모님 런닝머신용으로 렌탈어떤가요? 사는게 나으려나요??. [2] Gra4745 20/09/14 4745
148446 [질문] [운전면허] 실내운전연습장(시뮬레이터) 어떤가요? [8] Finding Joe5070 20/09/14 5070
148445 [질문] 부동산 조언 부탁드립니다(비규제지역, 지방) [13] 부처5570 20/09/14 5570
148444 [질문] 신경치료 도중 이빨이 부서졌습니다. [4] 구승빈과김종인6811 20/09/14 6811
148443 [질문] 2560 해상도 지원 모니터 사용하시는분 계신가요? [1] BlueSKY--5165 20/09/14 5165
148442 [질문] 삼성 임직원몰에서 폰 구매 시 [5] 2035811592 20/09/14 11592
148441 [질문] 작가가 진짜 천재적인(?) 만화 없나요 [40] 은때까치9784 20/09/14 9784
148440 [질문] 무선마우스에 대해서 [3] 이츠키쇼난4979 20/09/14 4979
148439 [질문] 나홀로 1박2일 제주(비행기/음식점/기타) [2] 꿀행성6134 20/09/14 6134
148438 [질문] 폴드2 사전예약 내일까지던데 쿠팡이 가장 싼가요 [14] Lelouch5221 20/09/14 5221
148437 [질문] 안드로이드폰에서 유튜브의 특정 영상만 음성의 싱크가 안맞는 현상? [3] 정지연5997 20/09/14 5997
148436 [질문] 엑셀을 저장 전으로 돌릴 수 있는 법 없을까요? [4] 퍼플레임5616 20/09/14 5616
148435 [질문] 메일 파일 (eml) 관리 방법 [4] MelOng6288 20/09/14 6288
148434 [삭제예정] [북미] 전손 차량 관련 보험회사와 합의 과정 질문 있습니다. [4] 엔지니어6321 20/09/14 6321
목록 이전 다음
댓글

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