v50 Steam/Premium information for editors
- v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
- Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.
Editing Adder (Computing)
Jump to navigation
Jump to search
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
If you are creating a redirect to the current version's page, do not use any namespace. For example: use #REDIRECT [[Cat]], not #REDIRECT [[Main:Cat]] or #REDIRECT [[cv:Cat]]. See DF:Versions for more information.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | {{Quality| | + | {{Quality|Superior|21:41, 11 May 2015 (UTC)}} |
{{av}} | {{av}} | ||
:''For the species of snake, see [[Adder]].'' | :''For the species of snake, see [[Adder]].'' | ||
− | + | ||
Understanding of principles of addition are important to many dwarven [[computing|logic]] devices. Addition can be used in devices to keep track of various values, such as the number of items in a [[stockpile]], the number of [[time|years]] that have passed since a particular event, or more abstract computation. | Understanding of principles of addition are important to many dwarven [[computing|logic]] devices. Addition can be used in devices to keep track of various values, such as the number of items in a [[stockpile]], the number of [[time|years]] that have passed since a particular event, or more abstract computation. | ||
Line 23: | Line 23: | ||
===3 or more bit incrementation or decrementation=== | ===3 or more bit incrementation or decrementation=== | ||
− | When we reach 3 or more bits, we need to add an additional layer of complexity. Consider what would happen if we incremented 1101: if we just [4]XOR[3] (XOR of our 4th bit with our 3rd bit), we would mistakenly find the value as 0110, rather than 1110. We need to make our carries propagate through the system properly. A dedicated incrementer can build this functionality into its bits, by incrementing the next higher bit every time it changes from 1 to 0, but not when it changes from 0 to 1. This process can be described logically by implementing a new carry bit, and working from the right, using the following algorithm | + | When we reach 3 or more bits, we need to add an additional layer of complexity. Consider what would happen if we incremented 1101: if we just [4]XOR[3] (XOR of our 4th bit with our 3rd bit), we would mistakenly find the value as 0110, rather than 1110. We need to make our carries propagate through the system properly. A dedicated incrementer can build this functionality into its bits, by incrementing the next higher bit every time it changes from 1 to 0, but not when it changes from 0 to 1. This process can be described logically by implementing a new carry bit, and working from the right, using the following algorithm: |
set [carry] equal to [1] -- if our first bit is 1, begin a carry | set [carry] equal to [1] -- if our first bit is 1, begin a carry | ||
Line 92: | Line 92: | ||
==Multiplication and division== | ==Multiplication and division== | ||
− | While beyond the scope of this article, similar logical tools can be used to multiply or divide two values. In the simplest (but slowest) implementation, either can be represented by sequential addition or subtraction, integrating an adder with a counter | + | While beyond the scope of this article, similar logical tools can be used to multiply or divide two values. In the simplest (but slowest) implementation, either can be represented by sequential addition or subtraction, integrating an adder with a counter. |
*[[User:BaronW]]'s page demonstrates the action of just such an awe-inspiring mechanical calculator. | *[[User:BaronW]]'s page demonstrates the action of just such an awe-inspiring mechanical calculator. | ||
{{Category|Computing}} | {{Category|Computing}} | ||
− |