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

5 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.

Categories

Find more on Data Types in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!