num2bin
使用 quantizer
对象将数字转换为二进制表示
说明
示例
将数值矩阵转换为二进制字符向量
使用 quantizer
对象指定的属性将数值矩阵转换为二进制字符向量。
x = magic(3)/9
x = 3×3
0.8889 0.1111 0.6667
0.3333 0.5556 0.7778
0.4444 1.0000 0.2222
q = quantizer([5,3])
q = DataMode = fixed RoundMode = floor OverflowMode = saturate Format = [5 3]
y = num2bin(q,x)
y = 9x5 char array
'00111'
'00010'
'00011'
'00000'
'00100'
'01000'
'00101'
'00110'
'00001'
在二进制字符串和数值数组之间转换
使用 quantizer
对象中指定的属性在二进制字符向量和数值数组之间转换。
将数值数组转换为二进制字符串
创建一个 quantizer
对象,指定字长为 4 位,小数长度为 3 位。quantizer
对象的其他属性采用指定有符号定点数据类型、朝负无穷方向舍入和溢出时饱和的默认值。
q = quantizer([4 3])
q = DataMode = fixed RoundMode = floor OverflowMode = saturate Format = [4 3]
创建一个数值数组。
[a,b] = range(q); x = (b:-eps(q):a)
x = 1×16
0.8750 0.7500 0.6250 0.5000 0.3750 0.2500 0.1250 0 -0.1250 -0.2500 -0.3750 -0.5000 -0.6250 -0.7500 -0.8750 -1.0000
使用 quantizer
对象 q
指定的属性将数值向量 x
转换为二进制表示。请注意,num2bin
始终以列形式返回二进制表示。
b = num2bin(q,x)
b = 16x4 char array
'0111'
'0110'
'0101'
'0100'
'0011'
'0010'
'0001'
'0000'
'1111'
'1110'
'1101'
'1100'
'1011'
'1010'
'1001'
'1000'
使用 bin2num
执行逆运算。
y = bin2num(q,b)
y = 16×1
0.8750
0.7500
0.6250
0.5000
0.3750
0.2500
0.1250
0
-0.1250
-0.2500
⋮
将二进制字符串转换为数值数组
所有小数形式的 3 位定点 2 的补码数由下式给出:
q = quantizer([3 2]); b = ['011 111' '010 110' '001 101' '000 100'];
使用 bin2num
可查看这些值的等效数值。
x = bin2num(q,b)
x = 4×2
0.7500 -0.2500
0.5000 -0.5000
0.2500 -0.7500
0 -1.0000
输入参数
q
— 要用于转换的数据类型属性
quantizer
对象
要用于转换的数据类型属性,指定为 quantizer
对象。
示例: q = quantizer([16 15]);
x
— 数值输入数组
标量 | 向量 | 矩阵 | 多维数组 | 元胞数组 | 结构体
数值输入数组,指定为标量、向量、矩阵、多维数组、元胞数组或结构体。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| struct
| cell
提示
num2bin
和bin2num
互为逆运算。请注意,num2bin
始终以列形式返回二进制表示。
算法
定点二进制表示采用 2 的补码形式。
浮点二进制表示采用 IEEE® 标准 754 样式。
版本历史记录
在 R2006a 之前推出
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)