Main Content

bin2num

quantizer 객체를 사용하여 2의 보수 이진 문자열을 숫자로 변환

설명

예제

y = bin2num(q,b)quantizer 객체 q의 속성을 사용하여 이진 문자형 벡터 b를 숫자형 배열 y로 변환합니다.

b가 이진 문자열을 포함하는 셀형 배열인 경우 y는 숫자형 배열을 포함하는, 동일한 차원의 셀형 배열입니다.

[y1,y2,…] = bin2num(q,b1,b2,…)는 이진 문자형 벡터 b1, b2 등을 숫자형 배열 y1, y2 등으로 변환합니다.

예제

모두 축소

quantizer 객체에 지정된 속성을 사용하여 이진 문자형 벡터와 숫자형 배열 간에 변환합니다.

숫자형 배열을 이진 문자열로 변환하기

워드 길이가 4비트이고 소수부 길이가 3비트인 quantizer 객체를 생성합니다. quantizer 객체의 다른 속성은 디폴트 값을 가져서, 부호 있는 고정소수점 데이터형으로 지정하고, 음수 무한대 방향으로 내림하고, 오버플로 시 포화됩니다.

q = quantizer([4 3])
q =


        DataMode = fixed
       RoundMode = floor
    OverflowMode = saturate
          Format = [4  3]

숫자형 값으로 구성된 배열을 만듭니다.

[a,b] = range(q);
x = (b:-eps(q):a)
x = 1×16

    0.8750    0.7500    0.6250    0.5000    0.3750    0.2500    0.1250         0   -0.1250   -0.2500   -0.3750   -0.5000   -0.6250   -0.7500   -0.8750   -1.0000

quantizer 객체 q에 의해 지정된 속성을 사용하여 숫자형 벡터 x 를 이진수 표현으로 변환합니다. 참고로, num2bin은 항상 이진수 표현을 열로 반환합니다.

b = num2bin(q,x)
b = 16x4 char array
    '0111'
    '0110'
    '0101'
    '0100'
    '0011'
    '0010'
    '0001'
    '0000'
    '1111'
    '1110'
    '1101'
    '1100'
    '1011'
    '1010'
    '1001'
    '1000'

bin2num을 사용하여 역 연산을 수행합니다.

y = bin2num(q,b)
y = 16×1

    0.8750
    0.7500
    0.6250
    0.5000
    0.3750
    0.2500
    0.1250
         0
   -0.1250
   -0.2500
      ⋮

이진 문자열을 숫자형 배열로 변환하기

모두가 3비트 고정소수점의 2의 보수인 숫자를 소수 형식으로 다음과 같이 지정합니다.

q = quantizer([3 2]);
b = ['011  111'
     '010  110'
     '001  101'
     '000  100'];

bin2num을 사용하여 이러한 값에 상응하는 숫자형 값을 확인합니다.

x = bin2num(q,b)
x = 4×2

    0.7500   -0.2500
    0.5000   -0.5000
    0.2500   -0.7500
         0   -1.0000

입력 인수

모두 축소

변환에 사용할 데이터형 속성으로, quantizer 객체로 지정됩니다.

예: q = quantizer([16 15]);

변환할 이진 문자열로, 이진 문자열을 포함하는 문자형 벡터, 문자형 배열 또는 셀형 배열로 지정됩니다.

데이터형: string | char | cell

  • bin2numnum2bin은 서로 역의 관계입니다. 참고로, num2bin은 항상 이진수 표현을 열로 반환합니다.

알고리즘

  • 고정소수점 이진수 표현은 2의 보수입니다.

  • 부동소수점 이진수 표현은 IEEE® 표준 754 스타일입니다.

  • 숫자 표현에 필요한 이진수 자릿수가 부족한 경우 고정소수점은 왼쪽에 0을 채우고 부동소수점은 오른쪽에 0을 채웁니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |