bi2de
(권장되지 않음) 2진수를 P진법으로 변환
설명
예제
2진수를 10진법으로 변환하기
이 예제에서는 2진수를 10진수 정수로 변환하는 방법을 보여줍니다. 오른쪽 최상위 자릿수와 왼쪽 최상위 자릿수의 차이를 강조합니다.
b1 = [0 1 0 1 1]; b2 = [1 1 1 0];
bi2de
함수를 사용하여 두 개의 2진수 배열을 10진수로 변환합니다. 가장 왼쪽 요소를 최상위 자릿수로 지정합니다. b1
의 변환 출력은 에 해당하고 b2
의 변환 출력은 에 해당합니다.
d1 = bi2de(b1,'left-msb')
d1 = 11
d2 = bi2de(b2,'left-msb')
d2 = 14
가장 오른쪽 요소를 최상위 자릿수로 지정합니다. b1
의 변환 출력은 에 해당하고 b2
의 변환 출력은 에 해당합니다.
d1 = bi2de(b1,'right-msb')
d1 = 26
d2 = bi2de(b2,'right-msb')
d2 = 7
입력 인수
b
— 이진 입력값
행 벡터 | 행렬
이진 입력값으로, 양의 정수 또는 논리값으로 구성된 행 벡터나 행렬로 지정됩니다.
참고
b
는 252보다 작거나 같은 정수를 나타내야 합니다.
데이터형: double
| single
| logical
| integer
| fi
flg
— MSB 플래그
'right-msb'
(디폴트 값) | 'left-msb'
MSB 플래그로, 'right-msb'
또는 'left-msb'
로 지정됩니다.
'right-msb'
–– 이진 입력값 b의 오른쪽(또는 마지막) 열을 최상위 비트(또는 최상위 자릿수)로 지정합니다.'left-msb'
–– 이진 입력값 b의 왼쪽(또는 첫 번째) 열을 최상위 비트(또는 최상위 자릿수)로 지정합니다.
데이터형: char
| string
p
— 기수
2
(디폴트 값) | 양의 정수 스칼라
입력값 b
의 기수로, 2
보다 크거나 같은 정수로 지정됩니다.
데이터형: double
| single
출력 인수
d
— 10진수 출력값
음이 아닌 정수 | 벡터
10진수 출력값으로, 음이 아닌 정수 또는 행 벡터로 반환됩니다. b
가 행렬인 경우 각 행은 p
진법 수를 나타냅니다. 이 경우 출력값 d
는 열 벡터로서 각 요소는 b
의 해당 행의 10진수 표현입니다.
입력 데이터형과 그에 대응하는 출력 데이터형은 다음과 같습니다.
입력 데이터형이 정수형이고
d
의 값이 입력과 동일한 정수 데이터형에 포함될 수 있는 경우, 출력 데이터형은 입력과 동일한 데이터형이 사용됩니다. 그렇지 않으면 출력 데이터형은 10진수 출력값을 포함할 수 있을 만큼 충분히 크게 선택됩니다.입력 데이터형이 double형 또는 논리형인 경우 출력 데이터형은 double형입니다.
입력 데이터형이 single형인 경우 출력 데이터형은 single형입니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2006a 이전에 개발됨R2021b: 권장되지 않음
bi2de
대신 bit2int
를 사용하십시오. 2진법이 아닌 표현의 숫자를 10진수로 변환하는 경우 base2dec
를 사용하십시오.
다음 표의 코드는 권장되는 함수를 사용한 다양한 입력의 2진수-10진수 변환 방법을 보여줍니다.
권장되지 않는 기능 | 권장되는 대체 방법 |
---|---|
% Default (left MSB) n = randi([1 100]); % Number of integers bpi = 3; % Bits per integer x = randi([0,1],n*bpi,1); y = bi2de(reshape(x,bpi,[])','left-msb') | % Default (left MSB) n = randi([1 100]); % Number of integers bpi = 3; % Bits per integer x = randi([0,1],n*bpi,1); y = bit2int(x,bpi) |
% Default row vector (or matrix) input
x = [0 1 1];
bi2de(x) | % Default row vector (or matrix) input
x = [0 1 1];
bit2int(x',length(x),0)' |
% Right MSB, logical input n = randi([1 100]); % Number of integers bpi = 5; % Bits per integer x = logical(randi([0,1],n*bpi,1)); y = bi2de(reshape(x,bpi,[])','right-msb') | % Right MSB, logical input n = randi([1 100]); % Number of integers bpi = 5; % Bits per integer x = logical(randi([0,1],n*bpi,1)); y = bit2int(x,bpi,false) |
% Right MSB, signed input, single input n = randi([1 100]); % Number of integers bpi = 8; % Bits per integer x = randi([0,1],n*bpi,1,'single'); y = bi2de(reshape(x,bpi,[])','right-msb'); N = 2^bpi; y = y - (y>=N/2)*N | % Right MSB, signed input, single input n = randi([1 100]); % Number of integers bpi = 8; % Bits per integer x = randi([0,1],n*bpi,1,'single'); y = bit2int(x,bpi,false); N = 2^bpi; y = y - (y>=N/2)*N |
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)