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

Find more on Operators and Elementary Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!