Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | "BartC" <bc@freeuk.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Unsinged types |
| Date | 2012-07-21 22:26 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <juf6tb$tmc$1@dont-email.me> (permalink) |
| References | <ju9p6k$rg0$1@speranza.aioe.org> <87obnbfjvm.fsf@blp.benpfaff.org> <juchir$ut$1@usenet.stanford.edu> <jucjal$b8e$1@dont-email.me> <juf5mm$mr$1@usenet.stanford.edu> |
"Seungbeom Kim" <musiphil@bawi.org> wrote in message news:juf5mm$mr$1@usenet.stanford.edu... > On 2012-07-20 14:41, Eric Sosman wrote: >> On 7/20/2012 5:11 PM, Seungbeom Kim wrote: >>> In addition, "unsigned" in C does not only mean non-negativity, >>> but also implies modulo arithmetic; you can't even get the difference >>> between two unsigned values in the most natural way (a - b). >> >> You can't do that with signed integers, either. > > Of course, signed integers are not without their limits (and the design > limits should lie safely within the environmental limits). > > However, *most* of the values we deal with are in small ranges that are > not too far from zero; ranges near INT_MAX, for example, but far from > zero are uncommon, if any, and they may need an upgrade to a larger > integer type anyway. > > Given that, getting around in signed is usually safe, as you're near > the center, far from the edges, of the field. Doing that in unsigned, > however, is like playing near the edge and risks falling off. > > > ,- usually here > ***** > signed [-------+-------+-------+-------]XXXX DANGER > | | | > -INT_MAX 0 INT_MAX UINT_MAX > | | | > unsigned DANGER XXXX[-------+-------+-------+-------] > > >> And in the cases where naive subtraction doesn't work, you don't >> just get a possibly surprising but predictable outcome: You get >> undefined behavior. > > True. But (2U - 5U) yielding 4294967293U is not very useful, no matter > how predictable it is You've put the point across much better than I've ever been able to, in many more posts (-1<5 is true, -1<5u is false, etc.) But, the language is apparently always right. Even if it's due to 'existing practice'. -- bartc
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Unsinged types Jase Schick <nospam@nospam.com> - 2012-07-19 20:03 +0000
Re: Unsinged types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-19 21:29 +0100
Re: Unsinged types jacob navia <jacob@spamsink.net> - 2012-07-19 23:15 +0200
Re: Unsinged types Robert Wessel <robertwessel2@yahoo.com> - 2012-07-19 16:46 -0500
Re: Unsinged types Ben Pfaff <blp@cs.stanford.edu> - 2012-07-19 15:47 -0700
Re: Unsinged types Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-19 21:06 -0400
Re: Unsinged types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-20 02:32 +0100
Re: Unsinged types Stephen Sprunk <stephen@sprunk.org> - 2012-07-19 21:08 -0500
Re: Unsinged types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-20 04:26 +0100
Re: Unsinged types Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-19 22:56 -0400
Re: Unsinged types Kenneth Brody <kenbrody@spamcop.net> - 2012-07-20 14:57 -0400
Re: Unsinged types Keith Thompson <kst-u@mib.org> - 2012-07-20 12:36 -0700
Re: Unsinged types Kenneth Brody <kenbrody@spamcop.net> - 2012-07-20 14:56 -0400
Re: Unsinged types Seungbeom Kim <musiphil@bawi.org> - 2012-07-20 14:11 -0700
Re: Unsinged types Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-20 17:41 -0400
Re: Unsinged types Seungbeom Kim <musiphil@bawi.org> - 2012-07-21 14:07 -0700
Re: Unsinged types "BartC" <bc@freeuk.com> - 2012-07-21 22:26 +0100
Re: Unsinged types Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-22 00:01 -0700
Re: Unsinged types "BartC" <bc@freeuk.com> - 2012-07-22 10:37 +0100
Re: Unsinged types Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 11:34 -0700
Re: Unsinged types gwowen <gwowen@gmail.com> - 2012-07-23 00:06 -0700
Re: Unsinged types Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 11:30 -0700
Re: Unsinged types Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-07-22 14:29 +0300
Re: Unsinged types "BartC" <bc@freeuk.com> - 2012-07-22 14:43 +0100
Re: Unsinged types Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-07-22 19:12 +0300
Re: Unsinged types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-22 12:14 -0700
Re: Unsinged types Tim Rentsch <txr@alumni.caltech.edu> - 2012-07-21 14:57 -0700
Re: Unsinged types Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-20 00:11 -0700
Re: Unsinged types Andrew Cooper <amc96@cam.ac.uk> - 2012-07-20 10:00 +0100
Re: Unsinged types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-20 23:48 -0700
Re: Unsinged types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-21 15:24 +0100
Re: Unsinged types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-21 08:53 -0700
Re: Unsinged types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-21 17:48 +0100
Re: Unsinged types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-21 11:22 -0700
Re: Unsinged types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-21 22:35 +0100
Re: Unsinged types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-21 14:55 -0700
Re: Unsinged types "BartC" <bc@freeuk.com> - 2012-07-21 18:27 +0100
Re: Unsinged types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-21 11:37 -0700
Re: Unsinged types Kenneth Brody <kenbrody@spamcop.net> - 2012-07-23 14:02 -0400
Re: Unsinged types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-23 12:21 -0700
Re: Unsinged types pete <pfiland@mindspring.com> - 2012-07-23 23:57 -0400
Re: Unsinged types "Bill Leary" <Bill_Leary@msn.com> - 2012-07-20 20:21 -0400
Re: Unsinged types "io_x" <a@b.c.invalid> - 2012-07-22 10:36 +0200
csiph-web