bin2num
使用 quantizer
对象将 2 的二进制补码字符串转换为数字
说明
示例
在二进制字符串和数值数组之间转换
使用 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]);
b
— 要转换的二进制字符串
字符向量 | 字符数组 | 元胞数组
要转换的二进制字符串,指定为包含二进制字符串的字符向量、字符数组或元胞数组。
数据类型: string
| char
| cell
提示
bin2num
和num2bin
互为逆运算。请注意,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)