bi2de
(不推荐)将二进制转换为以 P 为基数
说明
示例
此示例说明如何将二进制数转换为十进制整数。它强调右侧和左侧最高有效位定位之间的区别。
b1 = [0 1 0 1 1]; b2 = [1 1 1 0];
使用 bi2de 函数将两个二进制数组转换为十进制。指定最高有效位为最左侧元素。转换 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
输入参数
输出参量
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
版本历史记录
在 R2006a 之前推出使用 bit2int 替代 bi2de。如果要将数从非以 2 为基数的表示形式转换为十进制,请使用 base2dec。
下表中的代码展示使用推荐的函数对各种输入进行二进制到十进制转换。
| 不推荐的功能 | 推荐的替代项 |
|---|---|
% 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 Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)