• icydefiance@lemm.ee
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      9 months ago

      The other replies are simplifying too much. Just adding or subtracting in a loop would be far too slow.

      A multiplier will find the partial products by using AND gates, and then sum them, which is very similar to long multiplication as they teach you in school. This article explains it pretty well.

      Division is more complicated. It’s sort of done like long division, but apparently that is slow and there’s some magic with two’s complements that can make it faster. Honestly I don’t fully understand it yet.

      • SturgiesYrFase
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        That article was really good. I feel like if someone explained it to me at a pub or party I could somewhat talk about it without sounding like a total ludite.

    • Omega_Haxors
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      9 months ago

      It recursively subtracts until the number goes at or below zero. The iterations is the output and the reminder is how much it went below zero.

    • Xavienth@lemmygrad.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      Subtract divisor from dividend until you hit zero. Number of subtractions is the quotient. Don’t ask about non-whole numbers.

      • Omega_Haxors
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        The remainder is the amount of overflow when you go below zero.