2/2 Bic Decimal

태량·2023년 7월 11일
0
  1. BigDecimal에 대하여

    1. 일단 실수의 표현과 정밀도에 대해서 다시 알아보게 되는 계기가 됐다.
      • 중요한 기본 베이스는 실수체계를 컴퓨터는 2진수로 표현하는데 한계가 있다는 점이다. 그리고 실수는 무한 할 수 있지만, 컴퓨터는 무한한 실수를 표현 할 수 없다는 제약이 있다. → float과 double의 한정된 범위만큼만 실수를 표현 할 수 있다. 따라서 최대한 실수의 소수점자리에 가깝게 표현하는 정도를 정밀도라고 생각하면 된다.
    • 부동소수점 변환예시 -314.625가 있을 때, IEEE 754 부동소수점 방식으로 변환 해보자.
      1. 첫번째로 부호부를 확인하여 기록한다.
        - 마이너스이므로 부호로 1을 입력

        Untitled

      2. 두번째로 가수부 기록.
        - 가수부는 -314.625 → (절대값 변환) 314.625 → (2진수 변환) 100111010.101 (2)

            → (소수점 이동) 1.00111010101 (2) =  (정규 표현) 1.00111010101 x 2^8
            
            정규표현으로 나온 값을 가수부에 기록.
            
             
            

        Untitled

      3. 마지막으로 지수부 기록
        - 지수는 2^8에서 8에 해당한다. 이 8을 그냥 지수부에 넣지 않고 bias인 127을 더한 뒤 그 값을 2진수로 변환하여 지수부에 기록.
        - bias는 지수부 8비트에 해당하는 127 상수 , 만약 double에 경우에는 지수부가 11비트 이므로 2048 /2 - 1 의 값 1023을 bias 상수로 설정 할 것이다.

        8+127 = 135 → 1000 0111(2)

        Untitled

        https://codetorial.net/articles/floating_point.html

profile
좋은 영향력과 교류를 위하여

0개의 댓글