3
$\begingroup$

I am trying my best to divide the following:

Perform the following computations in binary arithmetic (Show how you perform the computations):

enter image description here

My attempt:

enter image description here

I watched:

Question: What is a more easy way, or approach to perform this, without really getting lost and confused?


EDIT: Due to confusion of the question above, I am simplifying this: N.B. It's not about straightly calculating it, but, documenting the exact steps how you arrive to that solution.

It states in the task,

Perform the following computations in binary arithmetic (Show how you perform the computations):


According to the solution paper, this is what I see.

enter image description here

$\endgroup$
12
  • 1
    $\begingroup$ I don't understand necessarily what is confusing about this. It works exactly the same in binary as it does in decimal. Do you get equally confused when dividing in decimal? Perhaps the numbers are too big for you... rather than dividing by $110000$... recognize that $110000 = 11\cdot 10000$, so divide first by $11$ and then divide the result by $10000$. $\endgroup$
    – JMoravitz
    Commented Apr 13, 2023 at 14:18
  • 2
    $\begingroup$ Again, long division works exactly like it does in decimal. Looking at what you have written, you have gone from the line 11110-0 to the line $11110\color{red}{11}$ minus 110000 having dropped two additional bits down. You skipped one. You were going by increasing the number of bits one at a time until then, correctly so. Why did you suddenly increase by two bits? Had you increased by only one bit you would have seen 111101 - 110000 and should have seen that this was indeed positive, equaling 001101, and continuing with the long division process as normal. $\endgroup$
    – JMoravitz
    Commented Apr 13, 2023 at 14:31
  • 1
    $\begingroup$ Believe it or not, I am trying to be helpful... I have no opinion of your skills and you as a person and am responding as though I am devoid of emotion. I am stating facts and am pointing out mistakes, not as an effort to "make fun of you" or to "be disrespectful"... but because it is important to do so in order to make the mistakes be known so that you can avoid them in the future. We point out mistakes so you can grow. If you can not stomach having your mistakes pointed out to you, then you need to mature more. $\endgroup$
    – JMoravitz
    Commented Apr 13, 2023 at 14:37
  • 1
    $\begingroup$ @JMoravitz, I don't understand necessarily what is confusing about this. It works exactly the same in binary as it does in decimal. Do you get equally confused when dividing in decimal? $\endgroup$ Commented Apr 13, 2023 at 14:39
  • 3
    $\begingroup$ That is a legitimate question. Do you or do you not understand how to perform long division in decimal? If you answer yes, then the conversation goes in one direction to try to identify what specifically went wrong as you tried to do long division in binary. If you answer no, then the conversation goes in another direction and attempts to teach long division in more detail (regardless of base). The steps performed (drop down next digit or bit, attempt to subtract, check if positive number, write number of times you can subtract and it remain nonnegative, repeat) are the same in binary $\endgroup$
    – JMoravitz
    Commented Apr 13, 2023 at 14:42

2 Answers 2

5
$\begingroup$

Loosely phrased, the long division algorithm is performed as follows:

First, write the numbers with the number you are dividing by on the left and the number you are dividing into on the right, the number you are dividing into inside of a portion of a box for organizational sake.

       _________
110000 | 1111011

Now, pull the first digit down of the number you are dividing into. Check to see if the number you are dividing by is less than or equal to that digit you pulled down. If it is, then subtract the number you are dividing by out of that digit you have pulled down as many times as you can so as to have the result still be non-negative. In binary, this can only be once or not at all, but in decimal it could be several times. Keep track of the result of the subtraction as well.

Write the number of times you subtracted your number in the corresponding position above the bar at the top, writing zero instead if you were not able to subtract the number.

Continue the process by using the result of the subtraction of the previous iteration (or the same digits/bits as were available the previous step in the case that no subtraction occurred) and append the next single additional digit/bit from the original number being divided into.

This is where you appear to have confused yourself in your work pictured. You suddenly one of the times increased the number of digits twice, having skipped a step, when you went from the line with 11110 to the next with line 1111011 having not had a line with 111101 between.

Again, repeat the process, check if the number you are dividing by is less than or equal, writing the number of times it can be subtracted away at the top, and keeping the result of that subtraction available for the next line to use.

The process ends when all digits of the number you are dividing into have been used up and the result of the subtraction is zero. This may mean that you need to continue past where the digits would normally have ended, at which point you should include the decimal point and append only as many zeroes after the decimal point as you need and drop those down.

The result after the first several iterations should look something like this:

         0000010.1~~~
       __________
110000 | 1111011.   \
         1      .    \
        -0      .     \
        __             |
         11     .      |
         -0     .      | --  For what its worth, all of this could be
        ___            |  skipped since we know we need at least as
         111    .      |  many digits as what we are dividing by
          -0    .      |
        ____           |
         1111   .      |
           -0   .     /
        _____        /
         11110  .   /
            -0  .  /
        ______
         111101 .   <------ You skipped this step
        -110000 .
        _______
         0011011.
              -0.
        ________
           110110
          -110000
        _________
           000110

If we were to complete the process we get as a final picture... this:

         0000010.1001
       ______________
110000 | 1111011.0000    <---- We added the decimal point and enough zeroes as we needed to complete
         1      .  
        -0      .  
        __         
         11     .  
         -0     .  
        ___        
         111    .  
          -0    .  
        ____       
         1111   .  
           -0   .  
        _____      
         11110  .  
            -0  .  
        ______
         111101 .   
        -110000 .
        _______
         0011011.
              -0.
        ________
           11011 0    <--- this empty space doesn't mean anything, it is just there to let numbers line up correctly
          -11000 0        If writing by hand, the decimal point would have not used up an entire column
        _________
           00011 0
                -0
              ____
              11 00
                 -0    <---- 1100 is not larger than 110000 so we subtract nothing, writing a zero at the top in this position
              _____
              11 000   <---- we then pull down an extra digit
                  -0
              ______
              11 0000
             -11 0000  <---- what we are dividing by is less than or equal, so we subtract it from the running remainder
              _______
                    0   <---- equal to zero so we are done, so write the 1 at the top in this position

This is, again, annoying to do with such large numbers and such wide spaces between doing things. Graph paper where you can keep things perfectly lined up and your vision doesn't get blurred is helpful... but it can be better to break this up into larger meta-steps.

A much better thing to here is to recognize $110000$ is equal to $11\cdot 10000$, and recognize that $1111011\div 110000$ is equal to $(1111011\div 11)\div 10000$

Doing the same as above but dividing by $11$ instead gives more regular interaction and smaller numbers to deal with at each step:

     0101001
   __________
11 | 1111011.
     1      .
    -0
    __
     11     .
    -11     .
     __
      01    .
      -0    .
      __
       11   .
      -11   .
      ___
       000  .
        -0  .
        __
         01 .
         -0 .
         __
          11.
         -11.
          __
           0.

After this, we divide by $10000$, but dividing by a number of this form is well known to be equivalent to just moving the decimal place an appropriate number of spaces.

$\endgroup$
12
  • $\begingroup$ How did you get 0000010.1~~~? Thanks BTW for detailed answer. $\endgroup$ Commented Apr 13, 2023 at 16:13
  • $\begingroup$ "After this, we divide by 10000", you mean after long division is performed? $\endgroup$ Commented Apr 13, 2023 at 16:19
  • $\begingroup$ @AlixBlaine "How did you get 0000010.1~~~?" After the first attempt to subtract we were unable to, so we wrote a $0$. That is where the first zero came from. After the second attempt to subtract, we were unable to, so we wrote another $0$. That is where the second zero came from. This continues until our sixth attempt to subtract and we were able to do so once. That is where the first $1$ came from in the sixth position. We continue the process, and I did so two more steps but intentionally did not fully complete, marking where I left off with the ~ chars to imply more follows. $\endgroup$
    – JMoravitz
    Commented Apr 13, 2023 at 16:35
  • 1
    $\begingroup$ I do not find a final image to be useful in and by itself. I think watching the table be built in motion is far more useful, and a video seeing it in person is necessary if learning to do this the first time. I intentionally stopped midway through so as to attempt to show the thought process. To complete the process, you do as I said in my previous comment which should have been enough information already to complete. I'll add it, but know that this goes against my intention and makes the post appear to be an extra page in length as a result which hurts readability. $\endgroup$
    – JMoravitz
    Commented Apr 14, 2023 at 12:57
  • 1
    $\begingroup$ @AlixBlaine again, I dislike this being as lengthy and wordy as it is... I do not think it should take an entire page to perform a single division for numbers of this size. You can do like the pictured "solution" in blue where long strings of steps are skipped and rather than dropping down a single digit at a time we drop down exactly as many digits as we need (and no more) at each step to get to the next available number which is larger than (or equal to) what we are dividing by. That skips all of these "subtract zero" lines, making this take a fraction the total space. $\endgroup$
    – JMoravitz
    Commented Apr 14, 2023 at 13:09
0
$\begingroup$
         0000010 

       |-------- 
110000 | 1111011
         110000
         ------
         0011011
          000000
          ------
           11011 : Remainder

In the above long division example, where each of the numbers is in base 2 format, first, you are dividing the SIX digit number 111101 by the divisor of 110000, to yield a quotient of 1.

Then, you compute the product of 1 $\times$ 110000, and place it below the six digit portion of the dividend 111101.

Then, you perform the subtraction, and your new partial dividend is 011011.

Then, you rinse and repeat. The steps exactly analogize to the steps that you would take in a standard base 10 long division problem.

$\endgroup$
5
  • $\begingroup$ Hi, I am not sure I follow along here. Can you show me in paper form? I have seen the solution, but, I want to know how to achieve it systematically step-wise. $\endgroup$ Commented Apr 13, 2023 at 14:44
  • $\begingroup$ According to the solution paper, the answer is: 10,1001 $\endgroup$ Commented Apr 13, 2023 at 14:46
  • $\begingroup$ @AlixBlaine I have added an explanation of the steps involved. Does my explanation make sense to you? If not, please leave a further question. Also, either I have made an analytical/arithmetic mistake, or I haven't. If you can see an analytical/arithmetic mistake in my work, please also leave a comment, following this answer. $\endgroup$ Commented Apr 13, 2023 at 14:51
  • $\begingroup$ @AlixBlaine As a sanity check, convert each of the following base 2 numbers, into base 10 numbers: the dividend, the divisor, the quotient, and the remainder. Then check whether (in base 10), the following arithmetic is accurate: $$[~\text{quotient} ~\times~ \text{divisor} ~] + ~\text{remainder} = \text{dividend}.$$ $\endgroup$ Commented Apr 13, 2023 at 14:57
  • $\begingroup$ See the solution. I want to know, how to perform the steps, to get the exact same solution. $\endgroup$ Commented Apr 13, 2023 at 15:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .