为什么 num2fixpt 函数不返回我预期的对应定点值?



我正在尝试从浮点/双精度转换为定点表示法,例如,让我们使用数字x = 0.39作为输入。

我想将 x 转换为其无符号的 16 位定点对应物,为此C++我习惯于使用表达式xFixedPoint = round(x*2^(16)),这将使0.39的不动点版本25559

但是,如果我使用num2fixpt函数,我无法获得该结果,我通过以下方式使用它

num2fixpt(0.39, ufix(16)) 
ans = 0 

我在使用num2fixpt功能时做错了什么?

>> num2fixpt(0.39,ufix(16(,2^-2(

答 =

0.2500

所以你还需要缩放以获得整数表示,即 2^16*num2fixpt(...(

相关内容

  • 没有找到相关文章

最新更新