Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #66337

Re: counting bytes

From James Kuyper <jameskuyper@verizon.net>
Newsgroups comp.lang.c
Subject Re: counting bytes
Date 2015-07-25 12:43 -0400
Organization Self
Message-ID <55B3BCA6.20408@verizon.net> (permalink)
References (12 earlier) <moj1qt$1ae$1@dont-email.me> <kfnr3nxh564.fsf@x-alumni2.alumni.caltech.edu> <rnAsx.228181$k44.141483@fx15.iad> <mouuqj$erh$1@dont-email.me> <%CNsx.310016$Pb6.253583@fx04.iad>

Show all headers | View raw


On 07/25/2015 11:07 AM, Richard Damon wrote:
> On 7/24/15 11:13 PM, Martin Shobe wrote:
>> On 7/24/2015 7:03 PM, Richard Damon wrote:
>>> On 7/24/15 12:49 PM, Tim Rentsch wrote:
>>>
>>>> That's true, but the Standard also allows extensions.  If types
>>>> narrower than CHAR_BIT bits were provided as an extension,
>>>> doesn't it seem reasonable to also extend sizeof to give a
>>>> non-integral value for those types (not to be confused with
>>>> 'extended integer types', which has a specific meaning)?  I don't
>>>> see any reason why there couldn't be such an extension, provided
>>>> of course the usual condition about strictly conforming programs
>>>> holds.
>>>>
>>>
>>> Extension should not change the defined behavior of things and MUST NOT
>>> change the behavior of a strictly conforming program.
>>>
>>> Let us assume that we have this strange size_t that can express
>>> fractions of at least 1/2 (0.5), and the type with that size is tiny_t
>>>
>>> I presume you intend that 2*sizeof(tiny_t) == sizeof(char) and that
>>> sizeof(tiny_t) == sizeof(char)/2
>>
>> I don't think sizeof(tiny_t) would equal sizeof(char)/2. The first would
>> need to hold to make it a useful extension.
>>
>> [snip]
>>
>> Martin Shobe
>>
> 
> It would be a very strange type of math where x * 2 / 2 != x (assuming 
> no overflow).

The extension, as I understand it, means that the result of a sizeof
expression is normally of type size_t, but has some kind of floating
point type when applied to types like tiny_t. In that case,
sizeof(char)/2 would be evaluated as an integer expression with a value
of 0, while the multiplication and both equality comparisons would be
evaluated in that floating point type. Therefore, the first would be
true, and the second would be false.

Such an extension would not be a conforming one if it applied to either
a standard type or any type that a standard typedef refers to, because
sizeof expressions involving any such type would have values that are
testably outside the range permitted for a conforming implementation. It
would be OK if the type is __tiny_t, but tine_t is from the name space
reserved to the users, and therefore could not be used for such a type.

I'll make one exception to that: while all of the standard identifiers
related to the size-named typedefs are reserved for all values of N, it
is impossible for any fully conforming implementation of C to support
[u]intN_t for N<8. Therefore, I can't see that there's any harm in
allowing such an extension to apply to those types.

I see that the original discussion was about int8_t. Code involving
#include <stdint> and sizeof(int8_t) should either fail with a
diagnostic because the type isn't supported, or sizeof(int8_t) must be 1
- otherwise it's a non-conforming; labeling it an extension doesn't make
a difference - it's a non-conforming extension.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

counting bytes bilsch01 <king621@comcast.net> - 2015-06-06 04:58 -0700
  Re: counting bytes Bartc <bc@freeuk.com> - 2015-06-06 13:05 +0100
    Re: counting bytes bilsch01 <king621@comcast.net> - 2015-06-06 05:24 -0700
      Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-06 05:41 -0700
        Re: counting bytes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-06 14:00 +0100
      Re: counting bytes Bartc <bc@freeuk.com> - 2015-06-06 13:52 +0100
      Re: counting bytes Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-06-06 10:27 -0400
        Re: counting bytes jt@toerring.de (Jens Thoms Toerring) - 2015-06-06 22:31 +0000
          THANKS EVERYBODY FOR THE INFO bilsch01 <king621@comcast.net> - 2015-06-06 23:35 -0700
            Re: THANKS EVERYBODY FOR THE INFO Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-07 10:08 +0100
              Re: THANKS EVERYBODY FOR THE INFO Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-07 09:22 -0700
                Re: THANKS EVERYBODY FOR THE INFO Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-07 18:07 +0100
                Re: THANKS EVERYBODY FOR THE INFO Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-08 04:03 -0700
                Re: THANKS EVERYBODY FOR THE INFO Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:12 -0700
            Re: THANKS EVERYBODY FOR THE INFO Keith Thompson <kst-u@mib.org> - 2015-06-07 08:01 -0700
          Re: counting bytes gordonb.3gcai@burditt.org (Gordon Burditt) - 2015-06-07 05:02 -0500
          Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-07 15:32 +0200
            Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-06-07 12:48 -0700
              Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-07 23:05 +0200
                Re: counting bytes Richard Heathfield <rjh@cpax.org.uk> - 2015-06-07 22:17 +0100
                Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-07 23:49 +0200
                Re: counting bytes Richard Heathfield <rjh@cpax.org.uk> - 2015-06-07 23:37 +0100
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:25 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:21 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-11 13:54 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-20 06:33 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-20 09:51 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-24 09:49 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-24 12:26 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 11:16 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-30 23:15 -0500
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:07 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-02 14:31 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-09 05:31 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-09 17:09 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-05 09:58 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-09-05 19:29 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-06 14:38 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-09-06 17:46 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-07 23:50 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-09-06 22:00 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-07 23:24 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-24 20:03 -0400
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-24 22:13 -0500
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 02:22 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-25 11:39 -0500
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 09:48 -0700
                Re: counting bytes Martin Shobe <martin.shobe@yahoo.com> - 2015-07-25 14:04 -0500
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 14:22 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 11:07 -0400
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-25 12:43 -0400
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 13:32 -0400
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-25 20:14 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-25 17:24 -0400
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 14:42 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-25 23:02 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-25 19:17 -0400
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-25 16:37 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-26 06:10 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-26 08:31 -0400
                Re: counting bytes Bartc <bc@freeuk.com> - 2015-07-30 21:32 +0100
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-31 13:25 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-31 11:31 -0400
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-31 11:30 -0700
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-31 14:29 -0400
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-31 12:14 -0700
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-07-31 17:39 -0700
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-31 23:32 -0400
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-08-01 16:41 -0700
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-08-01 20:23 -0400
                Re: counting bytes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-31 11:01 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 19:42 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 12:16 -0700
                Re: counting bytes Bartc <bc@freeuk.com> - 2015-07-30 22:04 +0100
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:10 -0700
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-07-25 19:10 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-25 22:16 -0400
                Re: counting bytes David Kleinecke <dkleinecke@gmail.com> - 2015-07-25 19:46 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 11:52 -0700
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-31 08:51 +0000
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:19 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-01 09:39 -0400
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-08-01 13:06 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-01 20:43 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-02 06:52 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-02 15:14 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-09 07:54 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-08-09 16:43 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-05 10:48 -0700
                Re: counting bytes Richard Damon <Richard@Damon-Family.org> - 2015-07-11 17:50 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-20 06:36 -0700
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-20 15:14 +0000
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-24 09:38 -0700
                Re: counting bytes raltbos@xs4all.nl (Richard Bos) - 2015-07-25 19:12 +0000
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 12:18 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-11 17:03 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-12 00:15 +0000
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-11 17:42 -0700
                Re: counting bytes glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-12 02:46 +0000
                Re: counting bytes James Kuyper <jameskuyper@verizon.net> - 2015-07-12 12:33 -0400
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-20 06:48 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-20 11:18 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-24 09:58 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-24 11:14 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-30 11:02 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-07-30 13:10 -0700
                Re: counting bytes Tim Rentsch <txr@alumni.caltech.edu> - 2015-08-01 10:53 -0700
                Re: counting bytes Keith Thompson <kst-u@mib.org> - 2015-06-07 14:46 -0700
                Re: counting bytes David Brown <david.brown@hesbynett.no> - 2015-06-08 09:05 +0200
  Re: counting bytes Siri Cruz <chine.bleu@yahoo.com> - 2015-06-06 05:06 -0700
  Re: counting bytes bartekltg <bartekltg@gmail.com> - 2015-07-26 00:58 +0200
    Re: counting bytes bartekltg <bartekltg@gmail.com> - 2015-07-26 01:00 +0200

csiph-web