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

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

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 27 Dez. 2013
Bearbeitet: Azzi Abdelmalek am 27 Dez. 2013
Maybe you want
q=347;
q=dec2bin(q)
c=sum(q=='1')
%or
c=numel(strrep(q,'0',''))

Weitere Antworten (1)

Amit
Amit am 27 Dez. 2013

0 Stimmen

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.

Kategorien

Mehr zu Entering Commands finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by