How is fundamental mathematics efficiently evaluated by programming languages?
- by Korvin Szanto
As I get more and more involved with the theory behind programming, I find myself fascinated and dumbfounded by seemingly simple things..
I realize that my understanding of the majority of fundamental processes is justified through circular logic
Q: How does this work?
A: Because it does!
I hate this realization! I love knowledge, and on top of that I love learning, which leads me to my question (albeit it's a broad one).
Question:
How are fundamental mathematical operators assessed with programming languages?
How have current methods been improved?
Example
var = 5 * 5;
My interpretation:
$num1 = 5; $num2 = 5; $num3 = 0;
while ($num2 > 0) {
$num3 = $num3 + $num1;
$num2 = $num2 - 1;
}
echo $num3;
This seems to be highly inefficient. With Higher factors, this method is very slow while the standard built in method is instantanious. How would you simulate multiplication without iterating addition?
var = 5 / 5;
How is this even done? I can't think of a way to literally split it 5 into 5 equal parts.
var = 5 ^ 5;
Iterations of iterations of addition?
My interpretation:
$base = 5;
$mod = 5;
$num1 = $base;
while ($mod > 1) {
$num2 = 5; $num3 = 0;
while ($num2 > 0) {
$num3 = $num3 + $num1;
$num2 = $num2 - 1;
}
$num1 = $num3;
$mod -=1;
}
echo $num3;
Again, this is EXTREMELY inefficient, yet I can't think of another way to do this.
This same question extends to all mathematical related functions that are handled automagically.