one's and two's complement

how to convert 8 bit binary numbers into one's and two's complement
Let a=11001011
ones_complement=00110100
twos_complement=00110101

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 1 Mar 2014
Edited: Azzi Abdelmalek on 1 Mar 2014
a='11001011';
c1=not(a-'0') % one's complement
d=1;
for k=numel(a):-1:1
r=d & c1(k);
c2(1,k)=xor(d,c1(k)); % c2 is two's complement
d=r;
end
[c1;c2]

3 Comments

how to work this if i have an array for 512*1 with each row of 16 bits. have to do the loop with this matrix.
Thank you so much
Azzi Abdelmalek
How can I get reverse of the Two's complement,from a mpu 9250 sensor output!!

Sign in to comment.

More Answers (1)

MD SAMIM AKTAR
MD SAMIM AKTAR on 20 Apr 2020
a='11001011';
c1=not(a-'0') % one's complement
d=1;
for k=numel(a):-1:1
r=d & c1(k);
c2(1,k)=xor(d,c1(k)); % c2 is two's complement
d=r;
end
[c1;c2]

Categories

Tags

Community Treasure Hunt

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

Start Hunting!