語長より大きい小数部の長さ
固定小数点数の語長より大きい小数部の長さは、数値の絶対値が 1 より小さく、先頭にゼロがある場合に発生します。
x = fi(.0234,1,8)
x =
0.0234
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 8
FractionLength: 12x の 2 進数表現を確認します。
disp(bin(x))
01100000
x の小数部の長さは語長より 4 大きいので、2 進小数点の後、格納整数の 2 進数表現の前に 4 つの暗黙的な先行するゼロがあります。
ゼロが 4 つの先行する x の 2 進数表現を 2 進数から 10 進数へ変換し、小数部の長さに従ってこの値をスケーリングします。
bin2dec('000001100000')*2^(-12)ans =
0.0234結果は x の実際値です。
実際値は、式 を使用して求めることもできます。
まず、x の整数格納を求めます。
Q = storedInteger(x)
Q = 96
整数格納を使用して x の実際値を求めます。
real_world_value = double(Q) * 2^-x.FractionLength
real_world_value =
0.0234