Skip to content

Commit e2ebdad

Browse files
authored
Create twos_complement_of_binary.m
1 parent e051eac commit e2ebdad

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
%% 2's complement of binary no;
2+
3+
function twos_comp = twos_complement_of_binary(bin)
4+
c=0;
5+
temp=bin;
6+
twos_comp=0;
7+
while(temp>0 && rem(temp,10)==0)
8+
twos_comp=twos_comp*10 + rem(temp,10);
9+
temp=fix(temp/10);
10+
c=c+1;
11+
end
12+
if(temp>0)
13+
twos_comp=twos_comp*10 + rem(temp,10);
14+
temp=fix(temp/10);
15+
c=c+1;
16+
end
17+
while(temp>0)
18+
if(rem(temp,10)==1)
19+
twos_comp=twos_comp*10 + 0;
20+
else
21+
twos_comp=twos_comp*10 + 1;
22+
end
23+
temp=fix(temp/10);
24+
c=c+1;
25+
end
26+
27+
temp=twos_comp;
28+
twos_comp=0;
29+
while(c>0) %reversing the order;
30+
twos_comp=twos_comp*10 + rem(temp,10);
31+
temp=fix(temp/10);
32+
c=c-1;
33+
end
34+
end
35+

0 commit comments

Comments
 (0)