From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Electronics (Rated Start-class)
WikiProject icon This article is part of WikiProject Electronics, an attempt to provide a standard approach to writing articles about electronics on Wikipedia. If you would like to participate, you can choose to edit the article attached to this page, or visit the project page, where you can join the project and see a list of open tasks. Leave messages at the project talk page
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

Why not XOR gates[edit]

Oh come on! You don't need multiplexers; XOR gates will do. —The preceding unsigned comment was added by (talkcontribs).

Same result, different implementation. A second image & explanation would be a worthy addition. If you wish to start it then go ahead. Cburnett 00:04, 21 February 2007 (UTC)
An inverter followed by a mux is inferior in power and speed to some other XOR implementation in probably any logic technology, electrical mechanical or otherwise. Potatoswatter 06:48, 21 September 2007 (UTC)
I'm not stopping anyone from adding an example with XOR or doing it in any other way. I'm also not making any claims that it's superior in any way shape or form.Cburnett 13:57, 21 September 2007 (UTC)
You added an example of an implementation which is never used. That is misleading. The present content of the article is not educational. I'm a TA for a digital circuit course, and I wouldn't want my students to get the impression that the ideas presently in this article (and not in binary arithmetic) are general, or even useful.
Demanding that someone else improve the quality of your work is cheap. I guess I'm somewhat interested in doing that, but mainly I'd rather not see this material on WP. Potatoswatter 20:55, 21 September 2007 (UTC)
meta:Don't be a dick. Cburnett 22:51, 21 September 2007 (UTC)
Don't wear your heart on your sleeve for subjects you're not expert on, and don't write technical articles with no citations. Potatoswatter 09:28, 22 September 2007 (UTC)
You're still being a condescending ass hole for absolutely no reason other than you're wanting to be a dick. Knock it off. Cburnett 14:29, 22 September 2007 (UTC)
No, It just gets me going to see articles written without expertise. It's fun to write, but well illustrated examples are useless without a good foundation. Condescension would mean I'm insulting your intelligence, and I don't think you put any stupid or contradictory ideas in here. It looks more like you've related some examples in terms of Boolean logic, which is OK except they're presented as physical reality. A peek at your user page shows lots of CS background, but there's far more to adders and ALUs than Boolean logic. It's better to be less specific than a schematic diagram if it's not showing how actual logic gates would be used, and it's better not to introduce the notion of an ALU as "some logic in front of an adder" when stacking logic back-to-back is the bane of any actual logic designer.
Maybe it would have been better to do something on the talk page before trying to cut content out of WP... WP:AfDs often attract attention to an article and result in improvement too. I recognize I'm being a dick. It's not nice to discourage someone from doing something they like. But you didn't research more than one elementary example for this article, and you didn't cite the one you did, and you stuck to your guns when challenged, which genuinely makes me want to point out that you should know more about the subject than this. Potatoswatter 17:17, 22 September 2007 (UTC)
I know this discussion took place almost 7 years ago but I think it's wroth commenting on it as someone from the field. I see this way too much on wikipedia. One can construct the same behavioral circuit using various implementations. The goal of the article is to explain what is it and how it works. As such the use of a multiplexer is by FAR the most appropriate choice when we want to clearly show that a specific signal is being chosen from a number of other signals. There is no need to do premature silly optimizations on an educational schematic like that. (I would also point out that we would not even use an XOR for something like that anyway even though we could, a transmission gate would probably be used for various reasons that are beyond the scope of this discussion). --CyberXRef 23:16, 11 April 2014 (UTC)


Subtractors are not really that distinct from adders in computer architecture/circuit design, so I was surprised such a complicated and inaccurate article had grown here. The info at binary arithmetic looks much more accurate and succinct.

It looks like this article originated from this text copied from Federal Standard 1037C:

adder-subtracter: A device that acts as an adder or subtracter depending upon the control signal received; the adder-subtracter may be constructed so as to yield a sum and a difference at the same time. Note: An arithmetic adder-subtracter yields arithmetic sums and differences, whereas a logical adder-subtracter yields logical sums and differences.

This material more likely belongs in Wikisource and there's no reason to try to "fix" it ourselves. Potatoswatter 00:28, 18 September 2007 (UTC)

"Inaccurate"? That's a new adjective here. Please share how and why. Cburnett 00:57, 18 September 2007 (UTC)
Judging by your comment restoring the text, this article is intended to provide insight into the implementation beyond the arithmetic. The entire depth of that implementation could be stated:
  • Since A - B = A + ~B + 1 in two's complement notation, and ~B = B XOR 1, we may enable subtraction by an adder by adding XORs to one of its inputs.
To going into more detail about adder implementation misleads the reader into thinking this doesn't generalize to all adders. Leaving out the XOR gate misleads the reader into thinking it's sometimes done some other way. Potatoswatter 06:48, 21 September 2007 (UTC)

To do[edit]

This article could be a nice collection of info on what goes into addition and subtraction in different number systems. In two's complement "adding" subtraction requires only an extra XOR per bit. But floating point, Gray code, Booth encoding, etc. all require more. Clearly we need regular binary with a sign bit as a kind of counterexample. And that's only binary number systems. Potatoswatter 07:00, 21 September 2007 (UTC)

I started on this new intro before writing the above. Feel free to use it:

Addition and subtraction, being similar operations, are often implemented in a single computational device called an adder-subtracter. Number systems allowing simpler or faster adder-subtracters are more practical and more popular. Potatoswatter 07:03, 21 September 2007 (UTC)