主要内容

bi2de

(不推荐)将二进制转换为以 P 为基数

不建议使用 bi2de。请改用 bit2int 函数。有关详细信息,请参阅版本历史记录

说明

d = bi2de(b) 将二进制行向量 b 转换为十进制整数。

d = bi2de(b,flg) 将二进制行向量转换为十进制整数,其中 flg 确定最高有效位的位置。

示例

d = bi2de(b,p) 将以 p 为基数的行向量 b 转换为十进制整数。

d = bi2de(b,p,flg) 将以 p 为基数的行向量转换为十进制整数,其中 flg 确定最高有效位的位置。

示例

全部折叠

此示例说明如何将二进制数转换为十进制整数。它强调右侧和左侧最高有效位定位之间的区别。

b1 = [0 1 0 1 1];
b2 = [1 1 1 0];

使用 bi2de 函数将两个二进制数组转换为十进制。指定最高有效位为最左侧元素。转换 b1 的输出对应于 0 ( 2 4 ) + 1 ( 2 3 ) + 0 ( 2 2 ) + 1 ( 2 1 ) + 1 ( 2 0 ) = 1 1 ,而 b2 对应于 1 ( 2 3 ) + 1 ( 2 2 ) + 1 ( 2 1 ) + 0 ( 2 0 ) = 1 4

d1 = bi2de(b1,'left-msb')
d1 = 11
d2 = bi2de(b2,'left-msb')
d2 = 14

指定最高有效位为最右侧元素。转换 b1 的输出对应于 0 ( 2 0 ) + 1 ( 2 1 ) + 0 ( 2 2 ) + 1 ( 2 3 ) + 1 ( 2 4 ) = 2 6 ,而 b2 对应于 1 ( 2 0 ) + 1 ( 2 1 ) + 1 ( 2 2 ) + 0 ( 2 3 ) = 7

d1 = bi2de(b1,'right-msb')
d1 = 26
d2 = bi2de(b2,'right-msb')
d2 = 7

输入参数

全部折叠

二进制输入,指定为由正整数或逻辑值组成的行向量或矩阵。

注意

b 必须表示小于或等于 252 的整数。

数据类型: double | single | logical | integer | fi

MSB 标志,指定为 'right-msb''left-msb'

  • 'right-msb' - 表示二进制输入 b 的右侧(即最后一个)列为最高有效位(即最高阶位)。

  • 'left-msb' - 表示二进制输入 b 的左侧(即第一个)列为最高有效位(即最高阶位)。

数据类型: char | string

输入 b 的基数,指定为大于或等于 2 的整数。

数据类型: double | single

输出参量

全部折叠

十进制输出,以非负整数或行向量形式返回。如果 b 是矩阵,则每行表示一个以 p 为基数的数。在这种情况下,输出 d 是列向量,其中每个元素是 b 的对应行的十进制表示。

如果输入数据类型为

  • 整数数据类型,并且 d 的值可以包含在与输入相同的整数数据类型中,则输出数据类型使用与输入相同的数据类型。否则,选择足够大的输出数据类型以容纳十进制输出。

  • 双精度或逻辑值数据类型,输出数据类型为双精度。

  • 单精度数据类型,输出数据类型为单精度。

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

全部折叠

另请参阅

|