covert 9.2532 decimal into binary

Answers (1)

Roger Stafford
Roger Stafford on 16 Mar 2017
Edited: Roger Stafford on 16 Mar 2017
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 Comments

where to put 9.2532
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'.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Tags

No tags entered yet.

Asked:

on 16 Mar 2017

Edited:

on 16 Mar 2017

Community Treasure Hunt

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

Start Hunting!