Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

bin2dec

将二进制整数的文本表示转换为双精度值

说明

示例

D = bin2dec(binStr) 将由 binStr 表示的二进制整数转换为等效的十进制数,并将其以双精度浮点值形式返回。

如果 binStr 表示大于或等于 flintmax 的整数,则 bin2dec 可能不会将其精确表示为浮点值。

示例

全部折叠

将表示二进制值的字符向量转换为十进制数。

binStr = '10111';
D = bin2dec(binStr)
D = 23

从 R2019b 开始,您可以直接以二进制格式写入值,而无需使用 bin2dec。使用 0b 前缀,不要使用引号。MATLAB® 将该值存储为整数,而不是文本。

D = 0b10111
D = uint8
    23

创建一个表示多个二进制值的字符串数组。

binStr = ["1111111111" "1111010" "1110"]
binStr = 1x3 string
    "1111111111"    "1111010"    "1110"

转换二进制值并返回数值数组。

D = bin2dec(binStr)
D = 1×3

        1023         122          14

从 R2019b 开始,建议您使用二进制字面值创建数值数组,而不是使用 bin2dec 转换文本。

D = [0b1111111111 0b1111010 0b1110]
D = 1x3 uint16 row vector

   1023    122     14

输入参数

全部折叠

表示二进制数字的文本,指定为字符数组、字符向量元胞数组或字符串数组。binStr 使用字符 01 表示二进制位。

  • 如果 binStr 是包含多行的字符数组或字符向量元胞数组,则输出为数值列向量。

  • 如果 binStr 是字符串数组,则输出为具有相同维度的数值数组。

binStr 表示的二进制数字不能超过 53 位。

从 R2020a 开始,binStr 可以是包含二进制字面值使用的相同前缀(0b0B)和后缀的文本。例如,对 bin2dec 的以下调用都会返回数字 7

bin2dec('111')
bin2dec('0b111')
bin2dec('0b111s32')

此外,在 R2020a 中,binStr 还可以通过使用指定有符号整数类型的后缀来表示负数的 2 的补码。例如,bin2dec('0b11111111s8') 返回 -1,因为 s8 后缀指定 8 位有符号整数类型。在以前的版本中,binStr 无法表示负数。

兼容性考虑

全部展开

R2020b 中的行为有变化

扩展功能

在 R2006a 之前推出