binary addition using c++

Discussion in 'Homework Help' started by Gizew, Nov 4, 2008.

1. Gizew Thread Starter Member

Nov 29, 2007
17
0
hey everybody!

i wnat to write a c++ code that manipulates a binary addition.
here is what i made:

for(i=1;i<=n;i++)
{
d=(a+[bi])/2;
if(a==1)
c=0;
else
c=1;
}
// a and b are arrays of size n and c is the sum in binary form.
but the problem arises how to transfer the carry to the next.
i have tried some what like this:
if(a==1&&b==1)
c[i+1]=c[i+1]+1;
i am not that much sure whether it is correct or not.
but even in this there is a problem of how to call back the above code.
(i am not saying that a problem of calling a function).

can u help u friends? Feb 4, 2008
4,846
70
3. Mark44 Well-Known Member

Nov 26, 2007
626
1
Inside your loop, at each step you need to keep track of whether a carry occurs. If it does, you'll need to do the addition in the next loop iteration. So each loop iteration you'll need to add a + b + carry. The first iteration of your loop, carry will necessarily be 0.

Having said that, it's not clear to me what kinds of values are in your a and b arrays. Are the elements 1s and 0s?

What's the purpose of the d array? And why do you put (a + b)/2 into d?

BTW, your loop is running from i = 1 to i = n. This means that you aren't looking at the 0-th element of any of your arrays. The common practice is to have loops like so: for(i = 0; i < n i++)