dec2bin
将十进制整数转换为其二进制表示形式
说明
示例
转换十进制数
指定最小位数
指定 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'
输入参数
D
— 输入数组
数值数组 | char
数组 | 逻辑数组
输入数组,指定为数值数组、char
数组或逻辑数组。
如果
D
是浮点数数组,并且D
的任何元素都包含小数部分,则在转换前,dec2bin
会将其截断。例如,dec2bin
将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
minDigits
— 输出中的最小位数
非负整数
输出中的最小位数,指定为非负整数。
如果
D
可以用少于minDigits
位的二进制位来表示,则dec2bin
会填充输出。D >= 0
用前导零填充
D < 0
用前导 1 填充(自 R2020b 开始提供)
如果
D
太大,必须用超过minDigits
的位来表示,则dec2bin
将用所需位数返回输出。
提示
无论您的计算机是使用 big-endian 还是 little-endian 格式在内存中存储值,
dec2bin
的输出都是相同的。有关这些格式的详细信息,请参阅端序。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
如果指定
minDigits
,即使D
为空,输出也包含该数量的列。如果未指定minDigits
,输出将包含至少一列。如果输入
D
是double
或single
,则它必须大于或等于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
)。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出R2022a: 将输入数据类型限制为原始数值类型
用户定义的数据类型仅限于原始数值类型和从原始数值类型继承的类。
R2022a: dec2bin(0,0)
返回 '0'
dec2bin(0,0)
返回 '0'
而不是 1×0 字符向量。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)