A 4 bit calculator that can do addition, subtraction, multiplication with base 10 In/Out.
Pistons are only used to monostable circuits, display, and hopper pulse extenders.
It's almost pistonless.
Also there aren't any observer blocks or slime blocks.
Yellow wool : input signal wire
Red wool : display
Pink wool : display control
Orange wool : SS memory initializing
Lime : Spam/hack preventer
Green wool : input SS decoder
Light blue wool : SS shift register
Blue wool : Adder
Cyan wool : Subtractor
Purple wool : hex coded binary shift register for multiplication
Magenta wool : Adder for multiplication
Light gray wool : selector and calculation control
Gray wool : multiplier control
White wool : SS wire
Terracottas and concretes : binary to BCD converter
-Yellow : Carry
-Orange : SS wire
-Red : Add-3
-Magenta : Multiply the input by 2 (To shift the binary right to left)
-Cyan : Memory
-Light Blue : Memory initializer
-Lime : Shifter
Adder : used half hexadecimal adder
Subtractor : used comparator's subtract mode. Easy :)
Multiplier : used peasant algorithm
binary to BCD conversion : used Double Dabble
1. Choose two numbers you want to calculate and press them slowly in order. The calculator will automatically shift the number right to left.
2. Then choose the calculation you want and press it.
3. At the left side of the screen, there are two lamp indicators. Upper one shows the multiplication progress, and lower one shows the binary to BCD conversion progress.
When you do addition and subtraction, it will do only the conversion.
4. It'll show the right answer on the screen when the calculation is over!
5. If you want to do other calculation, you don't need to press the button which is labeled "Clear Board". It'll automatically delete the past result and start new calculation.
Comments
I forgot to mention this. The
I forgot to mention this. The white thing on the top of the screen is not mine. Just other's creation.
Denied.
Dear DokdoKRKMS,
Compared to other calculators and conidering the required logic, this build is too slow to fit for a rankup to Regular. I would suggest creating a faster converter from signal strength to base 10 7 segment display output, since 198 ticks is really way too much for a 3 digit output. Also consider adding negative values to be displayed, 4 - 10 is currently 0, which is incorrect.
Meow,,
Woesh0007
About conversion speed
Dear woesh0007,
I'm sorry about the calculation mistake. The conversion time was 192 ticks, not 198 ticks. Anyway, the bi2bcd converter is now 64 ticks faster than before. but Is 128 ticks are still too slow for 3-digit output? If so, I'll try to make it much faster.
I'll wait for your reply.
Meow ฅ^•ﻌ•^ฅ
DokdoKRKMS
vad ingwish :D
***But are 128 ticks still too slow for 3-digit output?
Added negative values!
I modified the display, I put the plus and minus sign between = and 3-digit output. also I added the subtraction circuit which does inputB - inputA. The calculator can show negative output now. Check it out :)