MATLAB 帮助中心
将十进制整数转换为其二进制表示形式
binStr = dec2bin(D)
binStr = dec2bin(D,minDigits)
binStr = dec2bin(D) 返回十进制整数 D 的二进制(即基数为 2)表示形式。输出参量 binStr 是一个字符向量,它使用字符 0 和 1 表示二进制位。
D
binStr
0
1
如果 D 是数值向量、矩阵或多维数组,则 binStr 是二维字符数组。binStr 的每行表示 D 的一个元素。
示例
binStr = dec2bin(D,minDigits) 返回不少于 minDigits 位数的二进制表示。
minDigits
全部折叠
将十进制数转换为以二进制表示的值的字符向量。
D = 23; binStr = dec2bin(D)
binStr = '10111'
指定 dec2bin 返回的二进制最小位数。如果您指定需要更多位数,则 dec2bin 会填充输出。
dec2bin
D = 23; binStr = dec2bin(D,8)
binStr = '00010111'
如果您指定的位数较少,则 dec2bin 仍会返回表示输入数字所需的二进制位数。
binStr = dec2bin(D,1)
创建一个数值数组。
D = [1023 122 14];
要将 D 的元素表示为二进制值,请使用 dec2bin 函数。binStr 的每行对应于 D 的一个元素。
binStr = 3×10 char array '1111111111' '0001111010' '0000001110'
由于一个字符数组的所有行必须具有相同的字符数,因此 dec2bin 会填充 binStr 的一些行。例如,数字 14 可以用二进制数字 '1110' 表示。但是,为了与 binStr 的第一行的长度相匹配,dec2bin 函数将第三行填充为 '0000001110'。
14
'1110'
'0000001110'
从 R2020a 开始,dec2bin 函数使用 2 的二进制补码值来转换负数。
例如,下列对 dec2bin 的调用会转换负数。
dec2bin(-1)
ans = '11111111'
dec2bin(-16)
ans = '11110000'
char
输入数组,指定为数值数组、char 数组或逻辑数组。
如果 D 是浮点数数组,并且 D 的任何元素都包含小数部分,则在转换前,dec2bin 会将其截断。例如,dec2bin 将 12 和 12.5 都转换为 '1100'。截断结果始终是小于或等于该元素最接近的整数。
12
12.5
'1100'
如果 D 是字符数组或逻辑数组,则 dec2bin 将 D 的元素视为整数。但是,dec2bin 将字符视为其 Unicode® 值,因此不建议将 D 指定为字符数组。
自 R2020a 开始
D 可以包含负数。该函数使用 2 的二进制补码值来转换负数。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
输出中的最小位数,指定为非负整数。
如果 D 可以用少于 minDigits 位的二进制位来表示,则 dec2bin 会填充输出。
D >= 0
用前导零填充
D < 0
用前导 1 填充(自 R2020b 开始提供)
如果 D 太大,必须用超过 minDigits 的位来表示,则 dec2bin 将用所需位数返回输出。
无论您的计算机是使用 big-endian 还是 little-endian 格式在内存中存储值,dec2bin 的输出都是相同的。有关这些格式的详细信息,请参阅端序。
全部展开
用法说明和限制:
如果指定 minDigits,即使 D 为空,输出也包含该数量的列。如果未指定 minDigits,输出将包含至少一列。
如果输入 D 是 double 或 single,则它必须大于或等于 intmin('int64') 且小于 2^64。
intmin('int64')
2^64
此函数通常生成可变大小的输出。要使输出大小固定,请将 minDigits 指定为一个足够大的常量,以确保无论输入值是什么,输出都具有固定的列数。对于固定大小输出,minDigits 必须至少为 64(对于 double)、64(对于 single)、32(对于 half)、1(对于 logical)、8(对于 char)、64(对于 int64)、64(对于 uint64)、32(对于 int32)、32(对于 uint32)、16(对于 int16)、16(对于 uint16)、8(对于 int8)和 8(对于 uint8)。
64
32
half
8
16
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
用户定义的数据类型仅限于原始数值类型和从原始数值类型继承的类。
dec2bin(0,0)
'0'
dec2bin(0,0) 返回 '0' 而不是 1×0 字符向量。
bin2dec | dec2hex | dec2base | flintmax
bin2dec
dec2hex
dec2base
flintmax
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处