covert 9.2532 decimal into binary

回答(1 个)

function s = binstr(x)
if ~isfinite(x)|(length(x)~=1), error('x must be a finite scalar.'),end
b = (x<0); x = abs(x);
s = zeros(1,53);
[f,e] = log2(x);
for i = 1:53
f = 2*f;
d = floor(f);
f = f - d;
s(i) = d+48;
end
s = ['0.' s sprintf('*2^(%d)',e)];
if b, s = ['-' s]; end
s = char(s);
return

9 个评论

without function file it is possible?
still error i save this file as binstr name and at binstr(9.2532) not seen output
Undefined function 'finite' for input arguments of type 'double'.
Error in binstr (line 2) if ~finite(x)|(length(x)~=1), error('x must be a finite scalar.'),end
The function should generate a string which consists of binary digits with a binary point and a power of two. Write
s = binstr(9.2532)
and display the string. The string I get on my ancient computer is:
0.10010100000011010001101101110001011101011000111000100*2^4
s=binstr(9.2532)
Undefined function 'finite' for input arguments of type 'double'.
Error in binstr (line 2) if ~finite(x)|(length(x)~=1), error('x must be a finite scalar.'),end
s=binstr(9.2532) i edit this in command window or function file
Change 'finite' to 'isfinite'.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by