covert 9.2532 decimal into binary
Show older comments
convert decimal into binary with decimal point
Answers (1)
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
Pratik Anandpara
on 16 Mar 2017
Pratik Anandpara
on 16 Mar 2017
Roger Stafford
on 16 Mar 2017
binstr(9.2532)
Pratik Anandpara
on 16 Mar 2017
Pratik Anandpara
on 16 Mar 2017
Roger Stafford
on 16 Mar 2017
Edited: Roger Stafford
on 16 Mar 2017
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
Pratik Anandpara
on 16 Mar 2017
Edited: Pratik Anandpara
on 16 Mar 2017
Pratik Anandpara
on 16 Mar 2017
Roger Stafford
on 16 Mar 2017
Change 'finite' to 'isfinite'.
Categories
Find more on MATLAB in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!