이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
bitset
특정 위치에 비트 설정
구문
설명
는 intout
= bitset(A
,bit
,assumedtype
)A
의 유형이 assumedtype
인 것으로 가정합니다.
예제
비트를 On으로 설정
특정 숫자에 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
비트를 Off로 설정
특정 숫자에서 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
— 입력값
배열
입력값으로, 배열로 지정됩니다. A
, bit
, V
는 각각 동일한 크기의 스칼라이거나 배열일 수 있습니다.
A
가 double형 배열이고assumedtype
이 지정되지 않은 경우 MATLAB®에서는A
를 부호 없는 64비트 정수로 처리합니다.assumedtype
이 지정된 경우A
의 모든 요소는assumedtype
범위 내의 정수 값을 가져야 합니다.
데이터형: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
bit
— 비트 위치
정수 | 정수형 배열
비트 위치로, 정수 또는 정수형 배열로 지정됩니다. A
, bit
, V
는 각각 동일한 크기의 스칼라이거나 배열일 수 있습니다. bit
의 값은 1(최하위 비트)과 A
의 정수 클래스에 있는 비트 수 사이의 값이어야 합니다.
데이터형: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
assumedtype
— A
의 가정 데이터형
'uint64'
| 'uint32'
| 'uint16'
| 'uint8'
| 'int64'
| 'int32'
| 'int16'
| 'int8'
A
의 가정 데이터형으로, 'uint64'
, 'uint32'
, 'uint16'
, 'uint8'
, 'int64'
, 'int32'
, 'int16'
, 'int8'
중 하나로 지정됩니다.
A
가 double형 배열이면assumedtype
에 모든 유효한 정수형을 지정할 수 있습니다. 디폴트 값은'uint64'
입니다.A
가 정수형 배열이면assumedtype
에 동일한 정수형이 지정되어야 합니다.
데이터형: char
| string
V
— 비트 값
스칼라 | 숫자형 배열
비트 값으로, 스칼라 또는 숫자형 배열로 지정됩니다. A
, bit
, V
는 각각 동일한 크기의 스칼라이거나 배열일 수 있습니다.
데이터형: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
출력 인수
intout
— 조정된 정수
배열
조정된 정수로, 배열로 반환됩니다. intout
은 A
와 데이터형이 같습니다.
A
,bit
,V
가 모두 스칼라이면intout
도 스칼라입니다.A
,bit
,V
중 하나라도 배열이면intout
은 그 배열과 크기가 같습니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
부호 있는 정수는 지원되지 않습니다.
64비트 정수는 지원되지 않습니다.
입력값
A
와 비트 위치bit
중 적어도 하나는 부호 없는 정수 또는 부호 없는 정수형 배열이어야 합니다.assumedtype
인수는 지원되지 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)