Main Content

dec2bin

将十进制整数转换为其二进制表示形式

说明

示例

binStr = dec2bin(D) 返回十进制整数 D 的二进制(即基数为 2)表示形式。输出参量 binStr 是一个字符向量,它使用字符 01 表示二进制位。

如果 D 是数值向量、矩阵或多维数组,则 binStr 是二维字符数组。binStr 的每行表示 D 的一个元素。

示例

binStr = dec2bin(D,minDigits) 返回不少于 minDigits 位数的二进制表示。

示例

全部折叠

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

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

指定 dec2bin 返回的二进制最小位数。如果您指定需要更多位数,则 dec2bin 会填充输出。

D = 23;
binStr = dec2bin(D,8)
binStr = 
'00010111'

如果您指定的位数较少,则 dec2bin 仍会返回表示输入数字所需的二进制位数。

binStr = dec2bin(D,1)
binStr = 
'10111'

创建一个数值数组。

D = [1023 122 14];

要将 D 的元素表示为二进制值,请使用 dec2bin 函数。binStr 的每行对应于 D 的一个元素。

binStr = dec2bin(D)
binStr = 3x10 char array
    '1111111111'
    '0001111010'
    '0000001110'

由于一个字符数组的所有行必须具有相同的字符数,因此 dec2bin 会填充 binStr 的一些行。例如,数字 14 可以用二进制数字 '1110' 表示。但是,为了与 binStr 的第一行的长度相匹配,dec2bin 函数将第三行填充为 '0000001110'

从 R2020a 开始,dec2bin 函数使用 2 的二进制补码值来转换负数。

例如,下列对 dec2bin 的调用会转换负数。

dec2bin(-1)
ans = 
'11111111'
dec2bin(-16)
ans = 
'11110000'

输入参数

全部折叠

输入数组,指定为数值数组、char 数组或逻辑数组。

  • 如果 D 是浮点数数组,并且 D 的任何元素都包含小数部分,则在转换前,dec2bin 会将其截断。例如,dec2bin1212.5 都转换为 '1100'。截断结果始终是小于或等于该元素最接近的整数。

  • 如果 D 是字符数组或逻辑数组,则 dec2binD 的元素视为整数。但是,dec2bin 将字符视为其 Unicode® 值,因此不建议将 D 指定为字符数组。

自 R2020a 开始

D 可以包含负数。该函数使用 2 的二进制补码值来转换负数。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char

输出中的最小位数,指定为非负整数。

  • 如果 D 可以用少于 minDigits 位的二进制位来表示,则 dec2bin 会填充输出。

    D >= 0

    用前导零填充

    D < 0

    用前导 1 填充(自 R2020b 开始提供)

  • 如果 D 太大,必须用超过 minDigits 的位来表示,则 dec2bin 将用所需位数返回输出。

提示

  • 无论您的计算机是使用 big-endian 还是 little-endian 格式在内存中存储值,dec2bin 的输出都是相同的。有关这些格式的详细信息,请参阅端序

扩展功能

版本历史记录

在 R2006a 之前推出

全部展开