Bitwise addition if bit is 1.but not gettin answer.

3 views (last 30 days)
I am taking one number and converting it into binary and checking each bit whether it is 1 and if it is 1 then is added to next bit which is 1 and result is stored in c.
clc;
q=347;
q=dec2bin(q)
n=size(q,2)
c='0'
for i=1:n
if q(i)==1
c=c+q(i)
end
end

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 27 Dec 2013
Edited: Azzi Abdelmalek on 27 Dec 2013
Maybe you want
q=347;
q=dec2bin(q)
c=sum(q=='1')
%or
c=numel(strrep(q,'0',''))

More Answers (1)

Amit
Amit on 27 Dec 2013
The question is unclear. Can you elaborate?
One issue I see is that q(i) == '1' and not q(i) == 1. As q is a string and not an integer.

Community Treasure Hunt

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

Start Hunting!