Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

bitset

특정 위치에 비트 설정

설명

예제

intout = bitset(A,bit)는 위치 bit가 1(on)로 설정된 A의 값을 반환합니다.

예제

intout = bitset(A,bit,assumedtype)A의 유형이 assumedtype인 것으로 가정합니다.

예제

intout = bitset(A,bit,V)는 위치 bitV의 값으로 설정된 A를 반환합니다.

  • V가 0이면 비트 위치 bit는 0(off)으로 설정됩니다.

  • V가 0이 아니면 비트 위치 bit는 1(on)로 설정됩니다.

예제

intout = bitset(A,bit,V,assumedtype)A의 유형이 assumedtype인 것으로 가정합니다.

예제

모두 축소

특정 숫자에 2의 거듭제곱을 더합니다.

A = 4;
intout = bitset(A,4:6)
intout = 1×3

    12    20    36

bitset가 비트 4에서 6까지 순차적으로 활성화하는 것을 확인할 수 있습니다.

c = dec2bin(intout)
c = 3x6 char array
    '001100'
    '010100'
    '100100'

MATLAB®에서는 사용자가 assumedtype의 범위를 벗어난 정수를 지정할 경우 오류가 발생합니다. 예를 들어 bitset(300,5,'int8')의 경우, int8형 정수의 최댓값이 127이므로 오류가 반환됩니다.

지정된 데이터형의 범위로 입력값을 제한하면 이 오류를 방지할 수 있습니다.

intout = bitset(75,5,'int8')
intout = 91

특정 숫자에서 2의 거듭제곱을 반복해서 뺍니다.

a = intmax('uint8')
a = uint8
    255
for k = 0:7
   a = bitset(a, 8-k, 0);
   b(1,k+1) = a;
end
b
b = 1x8 uint8 row vector

   127    63    31    15     7     3     1     0

여러 값에 다중 비트 설정

bits = 2:6;
val = [1 0 0 1 1];
intout = bitset(0,bits,val,'int8')
intout = 1×5

     2     0     0    16    32

입력 인수

모두 축소

입력값으로, 배열로 지정됩니다. A, bit, V는 각각 동일한 크기의 스칼라이거나 배열일 수 있습니다.

  • A가 double형 배열이고 assumedtype이 지정되지 않은 경우 MATLAB®에서는 A를 부호 없는 64비트 정수로 처리합니다.

  • assumedtype이 지정된 경우 A의 모든 요소는 assumedtype 범위 내의 정수 값을 가져야 합니다.

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

비트 위치로, 정수 또는 정수형 배열로 지정됩니다. A, bit, V는 각각 동일한 크기의 스칼라이거나 배열일 수 있습니다. bit의 값은 1(최하위 유효 비트)과 A의 정수 클래스에 있는 비트 수 사이의 값이어야 합니다.

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

A의 가정 데이터형으로, 'uint64', 'uint32', 'uint16', 'uint8', 'int64', 'int32', 'int16', 'int8' 중 하나로 지정됩니다.

  • A가 double형 배열이면 assumedtype에 모든 유효한 정수형을 지정할 수 있습니다. 디폴트 값은 'uint64'입니다.

  • A가 정수형 배열이면 assumedtype에 동일한 정수형이 지정되어야 합니다.

데이터형: char | string

비트 값으로, 스칼라 또는 숫자형 배열로 지정됩니다. A, bit, V는 각각 동일한 크기의 스칼라이거나 배열일 수 있습니다.

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

출력 인수

모두 축소

조정된 정수로, 배열로 반환됩니다. intoutA와 데이터형이 같습니다.

  • A, bit, V가 모두 스칼라이면 intout도 스칼라입니다.

  • A, bit, V 중 하나라도 배열이면 intout은 그 배열과 크기가 같습니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

참고 항목

| | | | | |

R2006a 이전에 개발됨