我在MATLAB中的数据类型有问题。这是将二进制转换为十进制的简单代码。对于我的进一步任务,这些应该是64位整数。我该怎么做?
此代码将这些值转换为double。而且,类型转换没有帮助;例如,对于第一个值,总和是4.0265e+09
但铸造后通过Y = typecast(sum, 'int64');
它产生4750734656922451968
这是不正确的值。
example.png:
I = imread('example.png');
level = graythresh(I);
img = im2bw(I,level);
sz=size(img);
for i=1:sz(1)
sum=0;
p=1;
for j=sz(2):-1:1
sum=sum+img(i,j)*p;
p=p*2;
end
disp(sum);
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句