fixptbestexp
Determine the exponent that gives the best precision fixed-point representation of a value.
Syntax
out = fixptbestexp(RealWorldValue,TotalBits,IsSigned)
out = fixptbestexp(RealWorldValue,FixPtDataType)
Description
out = fixptbestexp(RealWorldValue,TotalBits,IsSigned)
determines the exponent that gives the best precision for the fixed-point representation of the real world value specified by RealWorldValue
. You specify the number of bits for the fixed-point number with TotalBits
, and you specify whether the fixed-point number is signed with IsSigned
. If IsSigned
is 1, the number is signed. If IsSigned
is 0, the number is not signed. The exponent is returned to out
.
out = fixptbestexp(RealWorldValue,FixPtDataType)
determines the exponent that gives the best precision based on the data type specified by FixPtDataType
.
Example
The following command returns the exponent that gives the best precision for the real world value 4/3 using a signed, 16-bit number.
out = fixptbestexp(4/3,16,1)
out =
-14
Alternatively, you can specify the fixed-point data type.
out = fixptbestexp(4/3,sfix(16))
out =
-14
This value means that the maximum precision representation of 4/3 is obtained by placing 14 bits to the right of the binary point.
01.01010101010101
You would specify the precision of this representation in fixed-point blocks by setting the scaling to 2-14 or 2fixptbestexp(4/3,16,1).