It can do + - * / with 2* 4 Bit inputs (A and B; they also can be entered negative; it works with math rules (f.ex.: -A+B=-(A-B) )
I used RCAs, because i forgot to use ICAs and also I never build ICAs (I can try to build one if you want me to,though).
For subtraction I simply used XORs which invert A and the output if - is turned on; it´s also able to calculate a negative output.
For multiplication I used left-shifting; it left-shits and saves the output with the right timing into three outpus(2*A 4*A 8*A); then the B input decides which outputs will lead into the adders and if 1*A also should lead in. [I probably could have made it faster but i didn´t want to change the working thing ,too much for now :/]
For divison I used sequentiell subtraction until the normal output is negative; it uses 30 ticks clock to reset the old A input and use the old output instead; also the clock counts an adder one up. [Is there another way to divide faster? I didn´t find another method.]
For coding the binary number to a binary coded decimal (BCD) number I used the doubble dabble algorithm with a 18 ticks clock(it needs to send 8 signals everytime).
For "Decoding" the BCD to a 7 Segment Display I used pulser(1 pulse, 2 pulses, 4 pulses, 8 pulses) which make dropper bring to move as many items into another dropper which gives a certain signal strength out(each ss gives a certain number to the 7 Segment Display) as many pulses it receives.
Chose input A and B
Chose one type of calcuation
Chose if A and/or B should be negative
Turn the Reset/Calculate Lever on
Wait a long time...
Now you can see the solution on the Display
Now you can turn the Reset/Calculate off and it will reset itself (Wait until you can see the calculation on the display, otherwise the next calculation could be wrong).
If something doesn´t seem correctly you can try to press the manual reset button; it also would be nice if you could tell me what and how it happened :).
Comments
Please fix it.
5+5 = 69
Okay... fixed
Its was a damned griefer. I rolled his edits back... i can't promise, that its completely undone.
Okay... next bug
Your calculator has a small bug: 5 + (-7) = -224