지식아일랜드

코딩 기초 11편_ JAVA 고정소수점(fixed point)과 부동소수점(floating point)의 특징과 예제 본문

JAVA 기초

코딩 기초 11편_ JAVA 고정소수점(fixed point)과 부동소수점(floating point)의 특징과 예제

모르는게 없는 지식인 2023. 3. 12. 23:59
반응형

안녕하세요!

지식아일랜드의 모르는게 없는 지식인 입니다.

오늘은 고정소수점(fixed point)과 부동소수점(floating point)에 대해

JAVA 코드와 예제와 함께 설명드리려고 합니다.

 

 

JAVA에서는 기본적으로 부동소수점(floating point)을 사용하며, 고정소수점(fixed point)은 사용자가 직접 구현해야 합니다.

아래는 각각의 개념에 대한 예제 코드 입니다.

 

고정소수점(fixed point) 예시
public class FixedPointExample {
    public static void main(String[] args) {
        // 2.5를 고정소수점으로 표현하는 예제
        int fixedPoint = 25;
        double result = fixedPoint / 10.0;
        System.out.println("고정소수점: " + result) ;
     }
}

위 예제 코드에서는 2.5를 고정소수점으로 표현하는 방법을 보여주고 있습니다.

여기서는 int 타입의 변수 fixedPoint에 25라는 값을 할당하고 있습니다.

이때 fixedPoint는 실제로는 0.25를 나타내는 값입니다.

 

그리고 나눗셈 연산자를 사용하여 10.0으로 나눈 결과를 double 타입의 변수 result에 할당하고 있습니다.

이렇게 할당된 result는 2.5를 실수형으로 표현한 값입니다.

 

고정소수점의 특징

· 소수점 이하의 자리수가 고정되어 있습니다.

· 연산이 간단하고 빠릅니다.

· 값의 범위가 제한적입니다.

 

부동소수점(floating point) 예시
public class FloatingPoint {
    public static void main(String[] args) {
        double number = -3.75;
        System.out.println(number);
    }
}

위 예제 코드에서는 -3.75를 부동소수점을 사용하여 2진수로 표현하는 방법을 보여주고 있습니다.

위 코드에서는 double 형 변수를 사용하여 -3.75를 표현합니다.

이때 double 형은 64비트를 사용하며, 1비트는 부호, 11비트는 지수, 52비트는 가수로 구성됩니다.

 

부동소수점의 특징

· 소수점 위치가 고정되어 있지 않습니다.

· 지수와 가수 부분으로 나누어 표현됩니다.

· 큰 범위의 수를 표현할 수 있습니다.

· 연산 속도가 느리고 정확도가 낮습니다.

 

 

 

이상으로 고정소수점과 부동소수점에 대해 예시와 함께 설명드렸는데 어떠셨나요?

각각의 특징과 장점을 잘 살려 활용해 보시기 바랍니다.

그럼 저는 다음 포스팅도 유익한 내용을 가지고 돌아오겠습니다.

감사합니다!

 

 

반응형
Comments