Main Content

int2bit

정수를 비트로 변환

R2021b 이후

설명

예제

Y = int2bit(X,n)X의 각 정수 요소를 열 방향 n비트로 구성된 Y로 변환하며, 이때 첫 번째 비트가 MSB(최상위 비트)입니다.

예제

Y = int2bit(X,n,msbfirst)Y의 열 방향 n비트 집합에서 첫 번째 비트가 MSB인지 아니면 LSB(최하위 비트)인지 나타냅니다.

예제

모두 축소

정수로 구성된 행 벡터를 지정합니다.

X = [12 5]
X = 1×2

    12     5

변환 출력값을 열 방향의 4비트 요소로 지정합니다. 그런 다음 정수를 비트로 변환합니다.

n = 4;
Y = int2bit(X,n)
Y = 4×2

     1     0
     1     1
     0     0
     0     1

정수로 구성된 행렬을 지정합니다.

X = int8([10 6 14; 11 5 9])
X = 2x3 int8 matrix

   10    6   14
   11    5    9

출력값에서, 열 방향의 4비트 요소로 구성된 각 집합에서 첫 번째 비트를 LSB로 지정합니다. 그런 다음 정수를 비트로 변환합니다.

n = 4;
msbfirst = false;
Y = int2bit(X,n,msbfirst)
Y = 8x3 int8 matrix

   0   0   0
   1   1   1
   0   1   1
   1   0   1
   1   1   1
   1   0   0
   0   1   0
   1   0   1

정수로 구성된 배열을 지정합니다.

X = randi([0,9],4,3,2,'uint16')
X = 4x3x2 uint16 array
X(:,:,1) =

   8   6   9
   9   0   9
   1   2   1
   9   5   9


X(:,:,2) =

   9   4   6
   4   9   0
   8   7   8
   1   9   9

변환 출력값을 열 방향의 3비트 요소로 지정합니다. 그런 다음 정수를 비트로 변환합니다.

n = 3;
Y = int2bit(X,n)
Y = 12x3x2 uint8 array
Y(:,:,1) =

   0   1   0
   0   1   0
   0   0   1
   0   0   0
   0   0   0
   1   0   1
   0   0   0
   0   1   0
   1   0   1
   0   1   0
   0   0   0
   1   1   1


Y(:,:,2) =

   0   1   1
   0   0   1
   1   0   0
   1   0   0
   0   0   0
   0   1   0
   0   1   0
   0   1   0
   0   1   0
   0   0   0
   0   0   0
   1   1   1

정수로 구성된 행 벡터를 지정합니다.

X = [153, -103, 103, -128] 
X = 1×4

   153  -103   103  -128

변환 출력값을 열 방향의 8비트 요소로 지정합니다. 그런 다음 정수를 비트로 변환합니다.

n = 8;
Y1 = int2bit(X,n)
Y1 = 8×4

     1     1     0     1
     0     0     1     0
     0     0     1     0
     1     1     0     0
     1     1     0     0
     0     0     1     0
     0     0     1     0
     1     1     1     0

비트를 다시 정수로 변환하고 값을 확인합니다. 결과로 생성된 정수가 원래 정수와 일치하지 않습니다. 부호 있는 정수를 2의 보수 값으로 올바르게 표현하려면 8비트보다 많이 필요하기 때문입니다.

X1 = bit2int(Y1,n,IsSigned=true)
X1 = 1×4

  -103  -103   103  -128

isequal(X,X1)
ans = logical
   0

변환 출력값을 열 방향의 9비트 요소로 지정합니다. 그런 다음 정수를 비트로 변환합니다.

n = 9;
Y2 = int2bit(X,n)
Y2 = 9×4

     0     1     0     1
     1     1     0     1
     0     0     1     0
     0     0     1     0
     1     1     0     0
     1     1     0     0
     0     0     1     0
     0     0     1     0
     1     1     1     0

비트를 다시 정수로 변환하고 값을 확인합니다. 결과로 생성된 정수가 원래 정수와 일치하며, 9비트가 2의 보수 값을 올바르게 표현함을 확인할 수 있습니다.

X2 = bit2int(Y2,n,IsSigned=true)
X2 = 1×4

   153  -103   103  -128

isequal(X,X2)
ans = logical
   1

입력 인수

모두 축소

정수로, 스칼라, 벡터, 행렬 또는 정수 값으로 구성된 3차원 배열로 지정됩니다.

예: [-10 2]는 1×2 크기의 입력 행 벡터를 지정합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

비트로 변환할 비트 수로, 양의 정수로 지정됩니다. 비트 수 n에는 부호 있는 비트가 포함됩니다.

데이터형: double

MSB 우선 방식에 대한 지정으로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다.

  • true –– X의 열 방향 n비트 집합에서 첫 번째 비트가 MSB입니다.

  • false –– X의 열 방향 n비트 집합에서 첫 번째 비트가 LSB입니다.

데이터형: logical

출력 인수

모두 축소

입력 정수의 비트 표현으로, 열 벡터, 행렬 또는 3차원 배열로 반환됩니다. YX와 동일한 차원을 가지며, 다만 Y의 행 개수만 X의 행 개수의 n배입니다. 출력값 Y는 지정된 방향의 n 최하위 비트로 구성됩니다. nX의 값을 표현하는 데 필요한 비트 수보다 작으면 출력값 Yn 최하위 비트로 구성됩니다.

Y의 데이터형은 X의 데이터형에 따라 달라집니다.

  • X가 부동소수점 데이터형이면 Y는 부동소수점 데이터형입니다.

  • X가 부호 없는 내장 정수 데이터형이면 Yuint8형입니다.

  • X가 부호 있는 내장 정수 데이터형이면 Yint8형입니다.

  • Xdouble형이면 Yn이 53보다 크지 않은 double형입니다.

  • Xsingle형이면 Yn이 24보다 크지 않은 single형입니다.

확장 기능

버전 내역

R2021b에 개발됨

모두 확장

참고 항목

함수

블록