# Binary long division

## Homework Statement

I'm trying to divide 1010 by 1001

## The Attempt at a Solution

So far all I have is

_1___________
1001 |1010.000000000
1001
------
0001

I know that 1001 divides into 0001 0 times, but I don't know how to continue..

vela
Staff Emeritus
Homework Helper

You do the same thing you do when you long-divide using decimals. Append that 0 to the quotient and then bring down the next digit from the dividend.

You do the same thing you do when you long-divide using decimals. Append that 0 to the quotient and then bring down the next digit from the dividend.

So for the next part of the quotient I divide 00010 (by bringing the 0 down) by 1001.
Right?

I like Serena
Homework Helper

Let's see.
As you should be aware, this will take you into the decimals (binoms??!).

Code:
1001/1010\1.
1001
----
1
.......

So, divide 1.0 by 1001?

vela
Staff Emeritus
Homework Helper

OK, so you had 1001 go into 1010 once, leaving a remainder of 1:
Code:
          1.
+---------------
1001 | 1010.000000000
1001
----
1
Now you bring down the 0 from the dividend and tack it onto the remainder:
Code:
          1.
+---------------
1001 | 1010.000000000
1001 |
---- v
1.0
1001 goes into 10 zero times (just ignore the binary point), so tack on a 0 to the quotient:
Code:
          1.0
+---------------
1001 | 1010.000000000
1001
----
1.0
Then bring down another 0 and tack it onto the remainder:
Code:
          1.0
+---------------
1001 | 1010.000000000
1001  |
----  v
1.00
Repeat. You should be able to see you're going to have to bring down two more 0's before anything new happens:
Code:
          1.000
+---------------
1001 | 1010.000000000
1001    |
----    v
1.0000

I like Serena
Homework Helper

Hmm, no divide 1010 by 1001...
The result is 1.0....

Edit: as vela said! (Wow!!!)

Thank you both so much!

Mark44
Mentor

The key is that each step of the division will give you either 0 or 1. If the number you are currently dividing is less than the divisor (the number you are dividing by), you write down a 0 digit, and bring down another digit. If the number you are dividing is greater than or equal to the divisor, you write down a 1 digit, and subtract the divisor from the number you were dividing. Continue the process as long as necessary. This is just like normal long division.

I like Serena
Homework Helper
@Mark44: Congratulations!
But don't you feel you lost something, now that it is no longer clear that you are a homework helper?
(Please do not make me a mentor. I'm not ready for that yet! )

Mark44
Mentor
Thanks! Yeah, I kind of miss the Recognitions panel, with its badges for contributor, HH, and Science Advisor that I had. Oh, well...

I've gotten this

______1.000111____
1001 | 1010.000000000000
-------1001
-------0001.0000
------------1001
------------1110
--------------1001
----------------1110

And it just stays going like this

Mark44
Mentor
Yes, that's as it should be. If you use long division to divide 10 by 9, you get 1.1111111... The same kind of thing is happening when you divide the same numbers in binary form.

Instead of 1.11111... (base-10), you're getting 1.000111 000111 ... (base-2).

But if I stay going on I get 1.00011111111111111 on the quotient?

vela
Staff Emeritus