2016-04-01 13 views
0

double precision floating point8bit floating pointに格納できる値に丸めるにはどうすればよいですか? 私は数学的にそれをやろうとしていますが、どうするかわかりません。doubleから8bitへの浮動小数点量子化

Iはxdouble番号を持っていると私はnn*2^bb整数と[-128,127]nで表現できる最も近いyを見つけるべきです。しかし、どうすれば最高のnbを見つけることができますか?

答えて

0

私は、このアルゴリズムを用いて解決しました:

function y = DoubleTo8bit(x) 
s=sign(x); 
x=abs(x); 

if x==0 
    y=0; 
    return; 
end 
b=floor(log2(x)+1)-8+(s>0); 
m=s*round(x/2^b); 

y=m*2^b; 
end 
関連する問題