![]() | This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 |
I had a hard time finding this page for information about ones complement. Maybe the "ones complement" and "one's complement" pages could redirect to this page, since those were the ones I tried. I ended up going through a few complement redirect pages to find this.
The process of "adding back the carry", as it is termed in this article about ones' complement arithmetic, was always referred to as an "end-around" carry.
Well - not important. By the time I read down to the section concerning two's complement, I see that the proper term for this ones' complement operation is introduced at that point in the article. So it's there!
Mea 01:55, 23 September 2007 (UTC) mea
This is quite true, you won't find ones' complement. IBM pushed this through. In the early years, Mathematicians dominated the field. In the ones' complement setup, a negative zero can result. "BUT THERE IS NO SUCH THING !!" the mathematicians exclaim. That always tickled me. They go along with all kinds of obscure and arcane advances, like "imaginary" numbers. But this they couldn't swallow.
It doesn't do much practical damage: We lose one number out of a very large set of integers we can represent. Nowadays nobody looks at numerical dumps. Back in the old days when you did, it was easy to read ones complement numbers. 000000001 was a positive one, and 111111110 was a negative one. (Try adding a one to that negative one, and you get that horrible beast the mathematicians fear!)
The larger negative numbers in twos complement become unrecognizable - you can't simply flip the bits and find the number. This because the subtraction used to compute negative numbers can flip some bits and not others. But now that is not really a factor, because you would browse a dump with a UI...
Mea (
talk)
06:02, 8 February 2009 (UTC)
What is the point of discussing Base -2? Does anybody use this or is it just a curiosity? Note that there are an unlimited number of potential base systems (e.g. you can assign a different base to each digit) that don't belong in this discussion. —Preceding unsigned comment added by 17.209.4.116 ( talk) 19:26, 14 May 2010 (UTC)
How the heck do you do arithmetic on base -2 ? Ordinary addition doesn't seem to work: 1+2=3, 2+2=-4, 3+2=-3 ... —Preceding
unsigned comment added by
212.71.114.220 (
talk)
09:19, 14 September 2010 (UTC)
Is it worth mentioning the ZigZag encoding used by google protocol buffers for their variable length signed integer types? You can find details here: http://code.google.com/apis/protocolbuffers/docs/encoding.html
219.90.197.140 ( talk) 04:17, 7 January 2011 (UTC)
For historical purposes, 1's complement needs a thorough discussion. The technology may be all but dead, but the mathematics endures. There is a simplicity to 1's complement not seen in 2's complement, and some very subtle issues with the mathematics that need to be fully documented.
I'll gladly write the first draft. — Preceding unsigned comment added by KentOlsen ( talk • contribs) 16:49, 24 January 2011 (UTC)
I have recommended Signedness be merged into Signed number representations. Signedness is small and seems to discuss SNR at the stub scale. It seems better to redirect signedness to SNR. Thoughts? Cliff ( talk) 18:18, 24 August 2011 (UTC)
I think signedness should remain separate. It is an attribute of meaning, whereas this article is about representations. Both articles benefit by remaining separate. - R. S. Shaw ( talk) 04:59, 18 September 2011 (UTC)
I suggest moving the "history" section of the ones' complement article into a "history" section of the signed number representations article. -- DavidCary ( talk) 18:28, 3 September 2011 (UTC)
It seems like the consensus is no. Removing the tag, it's been a while since there was any discussion anyway. -- 128.187.97.18 ( talk) 01:59, 26 June 2013 (UTC)
I read in J¨org Arndt's book on "Algorithms for programmers" that "twos complement arithmetic (that is: on likely every computer you’ll ever touch)" indicates that ones' complement processors are now rare. Is this true?
I worked on a few ones' complement computers such as CDC 32xx/64xx mainframes that were ones' complement. Are ones' complement processors still being produced? I once heard that on a Sun v480 that a minus-zero was used as a NULL value indicator in Informix. Never confirmed though.
Just thinking that if the majority of CPU's are two's complement, (like IBM's mainframes) that the ones' complement "short-list" would be a nice to-know element of the main article. — Preceding unsigned comment added by 206.174.82.201 ( talk • contribs) 20:57, 21 August 2008 (UTC)
twos complement arithmetic used for calculations is not the same thing as using two's complement for indicating a numbers sign. That is, a machine can use two's complement arithmetic AND still use a sign bit for sign representation. In fact that is what is done with the x86 machines which realistically the typical modern computer archiecture in almost every possible measurement. As a result,I am also removing the innacurate assertion which says two's complement is the standard signing notation in a typical modern computer. -- B105xor ( talk) 05:45, 11 April 2010 (UTC)
I think I caught all the cases where redirect pages pointed to "Signed number representations#Sign-and-magnitude method" and changed them to point to "Signed number representations#Signed magnitude representation" after the section name was changed; should the anchor be for "Sign-and-magnitude method" or for "Signed magnitude representation", did I miss a redirect page, or is the intent to handle other references to that section? Guy Harris ( talk) 17:26, 8 August 2013 (UTC)
According to the Bible, one's complement should be properly called ones' complement:
Although Google seems to imply that "one's complement" is used often (but it is hard to compare, as AFAIK you cannot force Google to consider punctuation), Knuth's view seems logical at the very least. -- Mormegil 19:56, 29 Jul 2004 (UTC)
r's complement is not the same concept as ones' complement because the latter is not derived conceptually from "one" being the radix of a base. -- Matt Westwood 07:59, 5 November 2011 (UTC)
I always thought about it thusly: "the complement of the ones" and "the complement of the twos", which give "ones' complement" and "twos' complement". If the latter is written "two's complement", then that would mean "the complement of a two" probably, which seems a bit odd ( is, after all, lots of 2s -- just as much as the string of 1s is lots of 1s -- when it's expanded). If that makes sense. —Sam Wilson (Australia) 00:33, 29 October 2007 (UTC)
Changed the article to use the ones' / two's convention as per Knuth. According to "Principles and Applications of Electrical Engineering" by Giorgio Rizzoni, there are no apostrophes at all, but I'm more inclined to follow the Bible. Feel free to change it, but at least the whole article is consistent now. LancerSix ( talk) 02:14, 28 February 2008 (UTC)
Wow. I came here for the same reason. "Ones'" with "two's" rather than "twos'" doesn't really make sense, but I'll leave it alone. Perhaps Knuth knows more about math than language, but the convention he settled on is illogical, and I'm sure he understands logic! Alanlarue ( talk) 20:51, 28 February 2008 (UTC)
I'm here for the same detail. I was reading the article, found an apparent error, saw that the error was very consistent, and so, checked out the talk page. Fortunately, what I was looking for was right at the top of the talk page. Perhaps this is important enough to mention in the article itself. Maybe find a way to somehow gracefully acknowledge the apparent grammatical inconsistency on first use of ones' and two's, and add a paragraph explaining the grammar somewhere toward the bottom of the article. I'm just passing through, and found the answer I was looking for here in the talk page, but if a significant number of people are spotting an error that's not actually an error, maybe it's time to somehow include an explanation right in the article. -- Loqi T. ( talk) 01:06, 4 April 2008 (UTC)
After all this discussion there still remains an inconsistency! In the penultimate paragraph of the Ones' Complement section, the various Internet protocols are said to use the same "16-bit 1's complement checksum algorithm." Shouldn't that be 1s' or, preferably, ones'? 83.104.249.240 ( talk) 19:43, 20 March 2009 (UTC)
Is it worth mentioning that sign-magnitude representation is a degenerate case of the polar coordinate system (or log-polar coordinates in the case of floating point)? It extends from being able to represent angles of only 0° for unsigned types to representing 0° and 180°, and follows the same modular arithmetic rules for multiplication and division. -- sh1 ( talk) 17:57, 2 October 2014 (UTC)
Signed magnitude representation would be great for numerical code. As for -0 that would make a nice NaN. There are a lot of place where floating point code could be replace with fixed point integer code if signed magnitude was used. All the cases 2's complement introduces makes fixed point integer code more difficult. Sean O'Connor — Preceding unsigned comment added by 113.190.204.87 ( talk) 04:00, 28 November 2013 (UTC)
This article seems to only describe the binary forms, but not the general case of digit complement (subtract each digit from one less than the radix) or radix complement (subtract from radix to the Nth power, where N is the number of digits, not including signs). It seems that nines' complement and ten's complement (using the Knuth position for the apostrophes) are somewhat described in Method of complements, but there could be a general, radix independent, article. Gah4 ( talk) 21:02, 24 August 2015 (UTC)
In computing, signed number representations are required to encode negative numbers in binary number systems.
There needs to be a sign encoding for any radix, not just binary. This article seems to be pretty much only about binary representations,though. Gah4 ( talk) 00:03, 27 August 2015 (UTC)
In the Excess-K section there's this claim:
I believe this should have been:
A quick check to prove that the existing claim is wrong: A number and its two's-complement are either both even or both odd, and this would be violated if 1 were subtracted from 2N−1. In any case, I wonder what the significance is of mentioning this particular and somewhat obscure relationship between two's-complement and excess-K, as the inversion of the most significant bit kind of makes excess-K NOT a generalization of two's-complement. Wouldn't it be equally (or more) valid to point out that two's-complement is excess-(2N) with bit N thrown away? -- Yawe ( talk) 10:59, 2 September 2016 (UTC)
![]() | This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 |
I had a hard time finding this page for information about ones complement. Maybe the "ones complement" and "one's complement" pages could redirect to this page, since those were the ones I tried. I ended up going through a few complement redirect pages to find this.
The process of "adding back the carry", as it is termed in this article about ones' complement arithmetic, was always referred to as an "end-around" carry.
Well - not important. By the time I read down to the section concerning two's complement, I see that the proper term for this ones' complement operation is introduced at that point in the article. So it's there!
Mea 01:55, 23 September 2007 (UTC) mea
This is quite true, you won't find ones' complement. IBM pushed this through. In the early years, Mathematicians dominated the field. In the ones' complement setup, a negative zero can result. "BUT THERE IS NO SUCH THING !!" the mathematicians exclaim. That always tickled me. They go along with all kinds of obscure and arcane advances, like "imaginary" numbers. But this they couldn't swallow.
It doesn't do much practical damage: We lose one number out of a very large set of integers we can represent. Nowadays nobody looks at numerical dumps. Back in the old days when you did, it was easy to read ones complement numbers. 000000001 was a positive one, and 111111110 was a negative one. (Try adding a one to that negative one, and you get that horrible beast the mathematicians fear!)
The larger negative numbers in twos complement become unrecognizable - you can't simply flip the bits and find the number. This because the subtraction used to compute negative numbers can flip some bits and not others. But now that is not really a factor, because you would browse a dump with a UI...
Mea (
talk)
06:02, 8 February 2009 (UTC)
What is the point of discussing Base -2? Does anybody use this or is it just a curiosity? Note that there are an unlimited number of potential base systems (e.g. you can assign a different base to each digit) that don't belong in this discussion. —Preceding unsigned comment added by 17.209.4.116 ( talk) 19:26, 14 May 2010 (UTC)
How the heck do you do arithmetic on base -2 ? Ordinary addition doesn't seem to work: 1+2=3, 2+2=-4, 3+2=-3 ... —Preceding
unsigned comment added by
212.71.114.220 (
talk)
09:19, 14 September 2010 (UTC)
Is it worth mentioning the ZigZag encoding used by google protocol buffers for their variable length signed integer types? You can find details here: http://code.google.com/apis/protocolbuffers/docs/encoding.html
219.90.197.140 ( talk) 04:17, 7 January 2011 (UTC)
For historical purposes, 1's complement needs a thorough discussion. The technology may be all but dead, but the mathematics endures. There is a simplicity to 1's complement not seen in 2's complement, and some very subtle issues with the mathematics that need to be fully documented.
I'll gladly write the first draft. — Preceding unsigned comment added by KentOlsen ( talk • contribs) 16:49, 24 January 2011 (UTC)
I have recommended Signedness be merged into Signed number representations. Signedness is small and seems to discuss SNR at the stub scale. It seems better to redirect signedness to SNR. Thoughts? Cliff ( talk) 18:18, 24 August 2011 (UTC)
I think signedness should remain separate. It is an attribute of meaning, whereas this article is about representations. Both articles benefit by remaining separate. - R. S. Shaw ( talk) 04:59, 18 September 2011 (UTC)
I suggest moving the "history" section of the ones' complement article into a "history" section of the signed number representations article. -- DavidCary ( talk) 18:28, 3 September 2011 (UTC)
It seems like the consensus is no. Removing the tag, it's been a while since there was any discussion anyway. -- 128.187.97.18 ( talk) 01:59, 26 June 2013 (UTC)
I read in J¨org Arndt's book on "Algorithms for programmers" that "twos complement arithmetic (that is: on likely every computer you’ll ever touch)" indicates that ones' complement processors are now rare. Is this true?
I worked on a few ones' complement computers such as CDC 32xx/64xx mainframes that were ones' complement. Are ones' complement processors still being produced? I once heard that on a Sun v480 that a minus-zero was used as a NULL value indicator in Informix. Never confirmed though.
Just thinking that if the majority of CPU's are two's complement, (like IBM's mainframes) that the ones' complement "short-list" would be a nice to-know element of the main article. — Preceding unsigned comment added by 206.174.82.201 ( talk • contribs) 20:57, 21 August 2008 (UTC)
twos complement arithmetic used for calculations is not the same thing as using two's complement for indicating a numbers sign. That is, a machine can use two's complement arithmetic AND still use a sign bit for sign representation. In fact that is what is done with the x86 machines which realistically the typical modern computer archiecture in almost every possible measurement. As a result,I am also removing the innacurate assertion which says two's complement is the standard signing notation in a typical modern computer. -- B105xor ( talk) 05:45, 11 April 2010 (UTC)
I think I caught all the cases where redirect pages pointed to "Signed number representations#Sign-and-magnitude method" and changed them to point to "Signed number representations#Signed magnitude representation" after the section name was changed; should the anchor be for "Sign-and-magnitude method" or for "Signed magnitude representation", did I miss a redirect page, or is the intent to handle other references to that section? Guy Harris ( talk) 17:26, 8 August 2013 (UTC)
According to the Bible, one's complement should be properly called ones' complement:
Although Google seems to imply that "one's complement" is used often (but it is hard to compare, as AFAIK you cannot force Google to consider punctuation), Knuth's view seems logical at the very least. -- Mormegil 19:56, 29 Jul 2004 (UTC)
r's complement is not the same concept as ones' complement because the latter is not derived conceptually from "one" being the radix of a base. -- Matt Westwood 07:59, 5 November 2011 (UTC)
I always thought about it thusly: "the complement of the ones" and "the complement of the twos", which give "ones' complement" and "twos' complement". If the latter is written "two's complement", then that would mean "the complement of a two" probably, which seems a bit odd ( is, after all, lots of 2s -- just as much as the string of 1s is lots of 1s -- when it's expanded). If that makes sense. —Sam Wilson (Australia) 00:33, 29 October 2007 (UTC)
Changed the article to use the ones' / two's convention as per Knuth. According to "Principles and Applications of Electrical Engineering" by Giorgio Rizzoni, there are no apostrophes at all, but I'm more inclined to follow the Bible. Feel free to change it, but at least the whole article is consistent now. LancerSix ( talk) 02:14, 28 February 2008 (UTC)
Wow. I came here for the same reason. "Ones'" with "two's" rather than "twos'" doesn't really make sense, but I'll leave it alone. Perhaps Knuth knows more about math than language, but the convention he settled on is illogical, and I'm sure he understands logic! Alanlarue ( talk) 20:51, 28 February 2008 (UTC)
I'm here for the same detail. I was reading the article, found an apparent error, saw that the error was very consistent, and so, checked out the talk page. Fortunately, what I was looking for was right at the top of the talk page. Perhaps this is important enough to mention in the article itself. Maybe find a way to somehow gracefully acknowledge the apparent grammatical inconsistency on first use of ones' and two's, and add a paragraph explaining the grammar somewhere toward the bottom of the article. I'm just passing through, and found the answer I was looking for here in the talk page, but if a significant number of people are spotting an error that's not actually an error, maybe it's time to somehow include an explanation right in the article. -- Loqi T. ( talk) 01:06, 4 April 2008 (UTC)
After all this discussion there still remains an inconsistency! In the penultimate paragraph of the Ones' Complement section, the various Internet protocols are said to use the same "16-bit 1's complement checksum algorithm." Shouldn't that be 1s' or, preferably, ones'? 83.104.249.240 ( talk) 19:43, 20 March 2009 (UTC)
Is it worth mentioning that sign-magnitude representation is a degenerate case of the polar coordinate system (or log-polar coordinates in the case of floating point)? It extends from being able to represent angles of only 0° for unsigned types to representing 0° and 180°, and follows the same modular arithmetic rules for multiplication and division. -- sh1 ( talk) 17:57, 2 October 2014 (UTC)
Signed magnitude representation would be great for numerical code. As for -0 that would make a nice NaN. There are a lot of place where floating point code could be replace with fixed point integer code if signed magnitude was used. All the cases 2's complement introduces makes fixed point integer code more difficult. Sean O'Connor — Preceding unsigned comment added by 113.190.204.87 ( talk) 04:00, 28 November 2013 (UTC)
This article seems to only describe the binary forms, but not the general case of digit complement (subtract each digit from one less than the radix) or radix complement (subtract from radix to the Nth power, where N is the number of digits, not including signs). It seems that nines' complement and ten's complement (using the Knuth position for the apostrophes) are somewhat described in Method of complements, but there could be a general, radix independent, article. Gah4 ( talk) 21:02, 24 August 2015 (UTC)
In computing, signed number representations are required to encode negative numbers in binary number systems.
There needs to be a sign encoding for any radix, not just binary. This article seems to be pretty much only about binary representations,though. Gah4 ( talk) 00:03, 27 August 2015 (UTC)
In the Excess-K section there's this claim:
I believe this should have been:
A quick check to prove that the existing claim is wrong: A number and its two's-complement are either both even or both odd, and this would be violated if 1 were subtracted from 2N−1. In any case, I wonder what the significance is of mentioning this particular and somewhat obscure relationship between two's-complement and excess-K, as the inversion of the most significant bit kind of makes excess-K NOT a generalization of two's-complement. Wouldn't it be equally (or more) valid to point out that two's-complement is excess-(2N) with bit N thrown away? -- Yawe ( talk) 10:59, 2 September 2016 (UTC)