Confusion between real-world and floating-point values
조회 수: 1 (최근 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!