Main Content

MATLAB에서 고정소수점 데이터 만들기

다음 예제에서는 Fixed-Point Designer™ fi 객체를 사용하여 고정소수점 데이터를 만드는 방법을 보여줍니다.

예 1. 디폴트 속성을 가진 고정소수점 숫자 만들기

숫자에 대해 fi를 호출하면 부호의 유무, 워드 길이, 소수부 길이가 디폴트 값으로 설정된 고정소수점 숫자가 생성됩니다.

 fi(pi)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

예 2. 부호의 유무, 워드 길이, 소수부 길이가 지정된 값으로 설정된 고정소수점 숫자 만들기

부호의 유무(부호가 있으면 1, 부호가 없으면 0), 워드 길이, 소수부 길이를 지정할 수 있습니다.

fi(pi,1,15,12)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 15
        FractionLength: 12

 fi 객체와 numerictype 객체

예 3. 고정소수점 정수 값 만들기

고정소수점 정수 값을 만들려면 소수부 길이를 0으로 지정합니다.

fi(1:25,0,8,0)
ans =
 
  Columns 1 through 13
     1   2   3   4   5   6   7   8   9  10  11  12  13
  Columns 14 through 25
    14  15  16  17  18  19  20  21  22  23  24  25

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

예 4. 고정소수점 난수로 구성된 배열 만들기

fi(rand(4),0,12,8)
ans =
 
    0.1484    0.8125    0.1953    0.3516
    0.2578    0.2422    0.2500    0.8320
    0.8398    0.9297    0.6172    0.5859
    0.2539    0.3516    0.4727    0.5508

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 12
        FractionLength: 8

예 5. 0으로 구성된 배열 만들기

코드를 작성할 때 변수에 대해 서로 다른 데이터형을 테스트하려는 경우가 있습니다. 알고리즘에서 변수의 데이터형을 분리하면 테스트가 훨씬 더 간단해집니다. 데이터형 정의 테이블을 만들면, 프로그래밍 방식으로 부동소수점 데이터형과 고정소수점 데이터형 간에 함수를 전환할 수 있습니다. 다음 예제에서는 이 방법을 사용하여 0으로 구성된 배열을 생성하는 방법을 보여줍니다.

 T.z = fi([],1,16,0);

z = zeros(2,3,'like',T.z)
z = 

     0     0     0
     0     0     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 0

참고

이 방법을 통한 구현을 볼 수 있는 전체 예제는 Implement FIR Filter Algorithm for Floating-Point and Fixed-Point Types Using cast and zeros 항목을 참조하십시오.