負の小数部の長さ
負の小数部の長さは、fi
オブジェクトの入力値に、小数点の前に後続ゼロが含まれる場合に発生します。以下に例を示します。
x = fi(16000,1,8)
これは、語長が 8 ビットで小数部の長さが最高精度の符号付き固定小数点数を作成します。
x = 16000 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: -7
x
の 2 進数表現を確認します。
disp(bin(x))
01111101
この数の末尾には、2 進小数点の前に 7 つの暗黙的ゼロがあります。これは x
の小数部の長さが -7
だからです。
2 進数から 10 進数に変換すると、x
の 2 進数表現には末尾に 7 つのゼロ ビットが追加されます。
bin2dec('011111010000000')
ans = 16000
結果は x
の実際値です。
実際値は、式 を使用して求めることもできます。
まず、x
の整数格納を求めます。
Q = storedInteger(x)
Q = 125
整数格納を使用して x
の実際値を求めます。
real_world_value = double(Q) * 2^-x.FractionLength
real_world_value = 16000