8바이트 짜리가 10^308까지 담는게 납득이 안가는데 실수자료형의 원리가 머임?
[일반] 실수 자료형의 범위 질문
익명(125.131)
2024-01-28 18:01
추천 0
댓글 10
다른 게시글
-
와 뛰는 놈 위에 나는 놈 있고 [2][일반] 익명(27.117) | 24.01.28추천 2
-
스트릭 유지 단점[일반] 익명(61.74) | 24.01.28추천 0
-
백준 11053번 가장긴증가하는수열 대체 뭐가 틀린거야 [3][일반] 익명(121.128) | 24.01.28추천 0
-
tree dp에서 dfs을 주로 사용하는 이유가 뭐임? [4][일반] 익명(121.129) | 24.01.28추천 0
-
간만에 D풀고 오늘 그린 달았다 [5][일반] 익명(118.235) | 24.01.28추천 1
-
usaco 터짐???[일반] 익명(1.236) | 24.01.28추천 0
-
ㅅㅂ A번 7틀 (사유있음)[일반] 익명(39.7) | 24.01.28추천 0
-
B번 테케가 약했나? [3][일반] 익명(119.201) | 24.01.28추천 1
-
코포가 운빨인 이유[일반] 익명(221.165) | 24.01.28추천 10
-
코포 매일 업솔빙 한달정도 하면 블루 가능할꺼요 [5][일반] 익명(122.40) | 24.01.28추천 0
https://ko.wikipedia.org/wiki/IEEE_754
지수랑 가수부를 분리하고 이진 기반으로 수를 표시해.
1.xxx * 2^yyy로 표현해서 xxx와 yyy를 저장(실제 구현은 살짝 다른데 큰 틀은 그럼)
soen.kr -> C/C++ -> C 고급 -> 18-1.타입 -> 음수의 표현 문서와 부동 소수점 문서를 보면 도움이 될 듯. 음수의 표현 문서는 딱히 볼 필요는 없지만 바이어스 표기법을 쉽게 이해할 수 있음(일정수 감소법).
요약하면, float 기준 지수부에 8비트할당 -> [0, 255] 범위의 256=2^8가지 지수 표현 가능(base 2). 바이어스 127적용하면 -127 ~ 128 범위 지수 사용 가능한데 -127이랑 128은 무한대값이랑 0, suboptimal을 표현하는 데에 예약되어 있음. 그래서 -126 ~ 127인데 2^127이 10^38쯤 됨. double 10^308도 마찬가지 이유
읽으면서
https://www.h-schmidt.net/FloatConverter/IEEE754.html
띄워놓고 실습 비교 ㄱㄱ
suboptimal x -> subnormal o
게이들아 친절하게 설명해줘서 고맙다...!
저 문서 내용 자체는 대학 전공수업 토픽일정도로 살짝 어려워서, 간단하게 요약하면, 표현하는 숫자의 경우의 수는 long long이랑 똑같음. 그런데 중간 간격을 적절하게 잘 조절해서 10^308까지 담음. 숫자가 커질수록 간격이 커지도록함
즉 정수 자료형은 숫자 간 간격이 전부 1인데, 실수는 숫자가 커질수록(절댓값이 커질수록) 점점커짐