Confusion between real-world and floating-point values
3 次查看(过去 30 天)
显示 更早的评论
Hello there,
I'm converting floating to real-world data values with the code snippet below.
I notice that after scaling, floating point values are no longer fractional, implying that data loss has occurred.
Thank you in advance
fi(linspace(-5,5,10),true,32,28)
storedInteger(fi(linspace(-5,5,10),true,32,28))
storedInteger(fi(linspace(-5,5,10),true,32,28)) / 2 ^28
I'm expecting fractional length, but I'm wondering where it's gone. Thanks !!
0 个评论
采纳的回答
Walter Roberson
2022-8-4
You forgot to take into account that an integer data type operated on with a double precision number, returns the integer data type
fi(linspace(-5,5,10),true,32,28)
SI = storedInteger(fi(linspace(-5,5,10),true,32,28))
class(SI)
SI / 2^28
double(SI) / 2^28
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fixed-Point Designer 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!