MATLAB 中 怎么将特定的二进制转成10进制 小数

来源:百度知道 编辑:UC知道 时间:2024/06/01 21:51:45
q = quantizer('fixed', 'ceil', 'saturate', [8 6]);
imgbits=num2bin(q,k);
这是我用命令将一个小数k如0.2356 变成二进制。小数点后面4位用6位二进制表示。
现在 要将编出来的二进制 恢复成10进制 小数 怎么恢复?
matlab有没有自带命令 还是要自己编程 因为存在精度的原因 逆过程不太好做

二进制小数转换没有现成的函数,要自己编的。
不过也不难啊。

或者你利用二进制整数的转换函数bin2dec()
比如二进制的0.1101
那你就先把小数部分转换成十进制整数
>> d=bin2dec('1101')

d =

13

然后再根据位数,小数点后面4位,就除以2^4
>> d/2^4

ans =

0.8125

r=hex2num(q,imgbits);
disp(r);
这样一句不就可以变回来?