如何将double precision floating point
舍入到可以存储在8bit floating point
中的值?
我试图以数学方式进行,但我不知道该怎么做。
我有一个x
double
个号码,我应该找到y
与n*2^b
n
和b
一起表达的最近n
[-128,127]
中的整数和n
。但是,我怎样才能找到最好的b
和{{1}}?
答案 0 :(得分: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