공부일지

250823 공부일지

kos9 2025. 8. 23. 18:01

1. java baekjoon problem solving

푼 문제 : 2562 / 10810 / 10813 / 10818 
- 아직은 문제가 쉬워서 풀만했다.

- https://github.com/kosehyeon-byte/baekjoon-java (깃허브에 baekjoon 문제 풀이 코드를 올려놓았다.)

 

2. ieee 754 표준에서의 부동소수점 표현 방식 이해 및 subnormal number 과정 이해

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

아 내가 이해한게 맞는지 봐줘.
일단
exponent = 00000001(2) 일때 가장 작은 값은 1.0*2^(-126) = 1.18 * 10^(-38) 이야. 

근데 여기서 0 으로 뚝 떨어지니까, subnormal number을 도입한거지.

이때의 exponent bit = 00000000(2) 이지만 실제 지수는 위의 때와 같이 2^(-126)으로 고정을 해. 그냥 특수한 상황으로 그렇게 정한거지. 그리고 1.fraction부분을 0.0000...1 으로 가장 작게 낮춰.
그러면 0.00000...1 * 2^(-126) = 1.4*10^(-45) 가 돼.

그런 다음에 1.0*2^(-126) = 1.18 * 10^(-38) 와  0.00000...1 * 2^(-126) = 1.4*10^(-45) 사이의 수는 0.00000...1 에서의 fraction으로 촘촘히 메우는거야. 그럼으로써 1.0*2^(-126) = 1.18 * 10^(-38) 와 0 간의 간격이 어느정도 메워지는 거고, 그로 인해서 표현할 수 있는 작은 수의 범위가 더 늘어나는거지.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

3. float , double 에서의 유효숫자 개수
(질문) float에서의 fraction bit + hidden bit = 24bit 이므로 2^(24) 개의 수를 표현할 수 있고, log10(2^24) = 7.xx이므로 십진수에서는 7자리 정밀도를 가진다. 이 내용이 정수단위에서는 이해가 되는데, (2^24 = 약 1600만 이고, 1600만개의 정수를 표현할 수 있으니 7자리 정밀도 가짐.) 소수 단위로 가면 왜 정밀도가 7자리가 유지되는지 이해가 안된다. 숫자의 개수는 1600만개로 유지되고, 수 끼리의 간격은 좁아진다. 근데 그게 왜 '정밀도 7자리'에 영향을 주지 않는지 이해가 잘 안된다..

 

 

'공부일지' 카테고리의 다른 글

250828 study log  (4) 2025.08.28
250827 study log  (2) 2025.08.27
250826 study log  (6) 2025.08.27
250825 study log  (0) 2025.08.26
📚 공부 일지를 시작하며  (2) 2025.08.23