• icydefiance@lemm.ee
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        4 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
          ·
          4 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
        4 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
        ·
        4 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
          ·
          4 months ago

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