How do computers multiply numbers?

Tanked

Senior member
Jun 1, 2001
205
0
0
I got into an arguement about this with a friend.

To multiply a number (say, 5 x 4) can computers do direct multiplication with the FPU or do they have to add four 5's together?

I know before the days of FPU's the latter was true, but does it still apply today?
 

ScottMac

Moderator<br>Networking<br>Elite member
Mar 19, 2001
5,471
2
0
Yes, they do.

Multiplication is something like a "roll left" or "shift left" (shifting the ones to the left multiplies by two) - division is a right shift or roll.


4 = 0000 0100, 8 = 0000 1000, 16= 0001 0000 (etc)

The full multiplication/division is a combination of rolls/shifts and logical / boolean operations.

I believe the machine code for X86 includes multiply / divide routines at low-level, so the binary math happens "behind the curtain."

FWIW

Scott
 

Zugzwang152

Lifer
Oct 30, 2001
12,134
1
0
Originally posted by: ScottMac
Yes, they do.

Multiplication is something like a "roll left" or "shift left" (shifting the ones to the left multiplies by two) - division is a right shift or roll.


4 = 0000 0100, 8 = 0000 1000, 16= 0001 0000 (etc)

The full multiplication/division is a combination of rolls/shifts and logical / boolean operations.

I believe the machine code for X86 includes multiply / divide routines at low-level, so the binary math happens "behind the curtain."

FWIW

Scott

sounds like something i learned in beginning programming...
 

Chesebert

Golden Member
Oct 16, 2001
1,012
13
81
The shift and add method they teach you in programming 100 is not how a REAL computer does multipication.
When I designed mine 32bit MIPS in VLSI I used booth recoding. But for an easy way out a Radix-2, easy but takes waaay too much die space when I tried to lay that sucker out! and the funny thing is that, I bet most of you wouldn't know this, big chunk of the die space is used for pads, that's the connector linking the outside to the inside (in plain English)

Anyway long story short, no one in their right mind would use a division on any real processor. It works but it is extremely, extremely slow. So slow in fact you are better off doing FP operations. i.e. 5/2 == 5*0.5

designing is fun when you are the boss but loose its appeal when you are slaving away for a company.

have fun learning!
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |