2026a

# bi2de


将二进制向量转换为十进制数

函数库: TyCommunication

# 语法

d = bi2de(b)
d = bi2de(b, flg)
d = bi2de(b, p)
d = bi2de(b, p, flg)

# 说明

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


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


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


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

# 示例

将二进制向量转换为十进制数
using TyCommunication
b1 = [0 1 0 1 1]
d1 = bi2de(b1)
d1[1]
ans = 26
将二进制数转换为十进制数

本例演示如何将二进制数转换为十进制整数。它突出了最右边和最左边有效数字定位的区别。

using TyCommunication
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
将八进制向量转换为十进制数

将八进制数(基数为 8)转换为十进制数。

将最有意义的数字分配到最左边的位置。输出对应于

using TyCommunication
d = bi2de([4 2 7 1], 8, "left-msb")
d = 2233

将最有意义的数字分配到最右边的位置。输出对应于

using TyCommunication
d = bi2de([4 2 7 1], 8, "right-msb")
d = 980

# 输入参数

b - 二进制输入
行向量 | 矩阵

二进制输入,指定为行向量或矩阵。

提示

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

数据类型: Int64

flg - MSB 标志
"right-msb"(默认)| "left-msb"

MSB 标志,指定为 "right-msb" 或 "left-msb"。

  • "right-msb":表示二进制输入 b 的右(或最后)列,作为最高有效位(或最高位);
  • "left-msb":表示二进制输入 b 的左(或第一)列,作为最高有效位(或最高位)。

数据类型:String

p - 基数
2(默认)| 正整数标量

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

数据类型:Int64

# 输出参数

d - 十进制输出
非负整数 | 向量

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

数据类型:Int64