핵심 원리

  • 어떤 수 N 의 자리 수는 "그 수의 로그를 취한 값" 임을 이용
  • 10 진수는 $log_{10}(N)$
  • 따라서, $log_{10}(2) \approx 0.301$
  • 즉, $1 / 0.301 \approx 3.3$ 이 되므로 10진수 자리수 ≈ floor(비트 수 × 0.301) + 1

결론

  • 2진수의 비트 수 / 3.3
    • 오차율 적은 임의 값 3.3
  • 10진수 자리수 ≈ floor(비트 수 × 0.301) + 1
    • 정석

실제 대응표

비트 수 계산 (n × 0.301) floor 후 +1 실제 최대값 (2ⁿ⁻¹) 십진수 자리수
8비트 8 × 0.301 ≈ 2.408 floor(2.408) +1 = 3 255 3자리
16비트 16 × 0.301 ≈ 4.816 floor(4.816) +1 = 5 65,535 5자리
24비트 24 × 0.301 ≈ 7.224 floor(7.224) +1 = 8 16,777,215 8자리
31비트 31 × 0.301 ≈ 9.331 floor(9.331) +1 = 10 2,147,483,647 10자리
64비트 64 × 0.301 ≈ 19.264 floor(19.264) +1 = 20 18,446,744,073,709,551,615 20자리

'공부 > 수학' 카테고리의 다른 글

코사인 유사도 ( 벡터 유사성 판별 )  (0) 2024.05.22

+ Recent posts

let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });