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


Groups > comp.lang.c > #92016

Re: sizeof Data types

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: sizeof Data types
Date 2016-08-09 08:12 -0700
Organization None to speak of
Message-ID <ln60raugbs.fsf@kst-u.example.com> (permalink)
References (3 earlier) <no9dgf$a05$1@dont-email.me> <450a4877-bb68-48d5-b24e-123ca59569a1@googlegroups.com> <noae50$l9r$1@dont-email.me> <433a7e7e-5f86-4a08-864f-f6074bf53cc8@googlegroups.com> <noc19a$d5h$1@dont-email.me>

Show all headers | View raw


David Brown <david.brown@hesbynett.no> writes:
> On 08/08/16 23:09, supercat@casperkitty.com wrote:
>> On Monday, August 8, 2016 at 12:05:44 PM UTC-5, David Brown wrote:
>>> If you don't want implementation dependent behaviour in your programs, 
>>> don't write code that depends on the implementation.
>>>
>>> int diffcomp(uint16_t a, uint16_b, uint16_t c) {
>>> 	return (unsigned int) a - b > c;
>>> }
>> 
>> The effect of that will still vary depending upon the implementation. 
>
> Perhaps I have got the details wrong, but my understanding here is:
>
> uint16_t is either "unsigned short", "unsigned int", or an unsigned
> extended integer type of lower rank than "unsigned int".

It could also be unsigned char if CHAR_BIT==16.  That doesn't affect the
rest of the discussion.

[...]

> But your example is an extremely hypothetical one.  First, 64-bit int
> systems are rare - the only one I have heard of is some early Cray
> systems, and they also had 64-bit short (and therefore no uint32_t).
> Secondly, /if/ you were writing such modular arithmetic routines that
> had to be portable even to the Cray, you would use separate functions
> rather than casting.  You would probably also not rely on the existence
> of uint32_t, but rather use "unsigned long" and explicit modulos for
> greater portability.

Cray vector systems such as the T90 and the more recent SV1 have
64-bit short, int, and long.  Some other Cray systems, such as
the Alpha-based T3E, have 32-bit short and 64-bit int and long.
When I worked on them, there was no C99 compiler, and I don't *think*
there was a <stdint.h> or <inttypes.h> header.

Systems with 64-bit int are rare today, largely because making int 64
bits means you can't have 8-bit, 16-bit, 32-bit, and 64-bit integer
types without using extended integer types, and probably because the
size of int is imposed by the ABI.  But I wouldn't assume that will
continue to be the case.

[...]

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

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


Thread

sizeof Data types Real Troll <real.troll@trolls.com> - 2016-08-05 18:45 -0400
  sizeof Data types jameskuyper@verizon.net - 2016-08-05 17:10 -0700
  Re: sizeof Data types raltbos@xs4all.nl (Richard Bos) - 2016-08-06 10:35 +0000
  Re: sizeof Data types raltbos@xs4all.nl (Richard Bos) - 2016-08-06 10:36 +0000
  Re: sizeof Data types Jean-Marc Bourguet <jm@bourguet.org> - 2016-08-06 22:29 +0200
    Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-09 12:55 -0400
  Re: sizeof Data types BartC <bc@freeuk.com> - 2016-08-06 21:43 +0100
    Re: sizeof Data types jameskuyper@verizon.net - 2016-08-06 15:25 -0700
      Re: sizeof Data types David Brown <david.brown@hesbynett.no> - 2016-08-08 09:48 +0200
        Re: sizeof Data types James Kuyper <jameskuyper@verizon.net> - 2016-08-08 11:05 -0400
          Re: sizeof Data types David Brown <david.brown@hesbynett.no> - 2016-08-08 17:57 +0200
        Re: sizeof Data types supercat@casperkitty.com - 2016-08-08 08:36 -0700
          Re: sizeof Data types David Brown <david.brown@hesbynett.no> - 2016-08-08 19:05 +0200
            Re: sizeof Data types supercat@casperkitty.com - 2016-08-08 14:09 -0700
              Re: sizeof Data types David Brown <david.brown@hesbynett.no> - 2016-08-09 09:38 +0200
                Re: sizeof Data types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-09 11:23 +0100
                Re: sizeof Data types Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-12 07:42 -0700
                Re: sizeof Data types Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-08-12 21:38 +0100
                Re: sizeof Data types Keith Thompson <kst-u@mib.org> - 2016-08-09 08:12 -0700
                Re: sizeof Data types supercat@casperkitty.com - 2016-08-10 10:36 -0700
                Re: sizeof Data types Keith Thompson <kst-u@mib.org> - 2016-08-10 11:42 -0700
      Re: sizeof Data types Philip Lantz <prl@canterey.us> - 2016-08-11 10:20 -0700
        Re: sizeof Data types Keith Thompson <kst-u@mib.org> - 2016-08-11 12:04 -0700
        Re: sizeof Data types Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-12 08:22 -0700
    Re: sizeof Data types Nobody <nobody@nowhere.invalid> - 2016-08-07 01:32 +0100
      Re: sizeof Data types Keith Thompson <kst-u@mib.org> - 2016-08-06 18:10 -0700
  Re: sizeof Data types Siri Cruise <chine.bleu@yahoo.com> - 2016-08-06 20:22 -0700
    Re: sizeof Data types Ian Collins <ian-news@hotmail.com> - 2016-08-07 15:40 +1200
    Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-09 13:06 -0400
      Re: sizeof Data types Siri Cruise <chine.bleu@yahoo.com> - 2016-08-09 12:37 -0700
        Re: sizeof Data types Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-11 09:18 -0700
          Re: sizeof Data types Siri Cruise <chine.bleu@yahoo.com> - 2016-08-11 11:11 -0700
            Re: sizeof Data types Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-08-11 12:26 -0600
              Re: sizeof Data types David Brown <david.brown@hesbynett.no> - 2016-08-11 23:31 +0200
                Re: sizeof Data types supercat@casperkitty.com - 2016-08-11 14:59 -0700
              Re: sizeof Data types Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-12 00:15 -0700
            Re: sizeof Data types Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-12 08:05 -0700
  Re: sizeof Data types John Bode <jfbode1029@gmail.com> - 2016-08-08 12:38 -0700
    Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-09 13:08 -0400
      Re: sizeof Data types Keith Thompson <kst-u@mib.org> - 2016-08-09 10:43 -0700
      Re: sizeof Data types "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-09 13:41 -0400
        Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-10 11:51 -0400
          Re: sizeof Data types "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-10 12:35 -0400
            Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-11 11:53 -0400
              Re: sizeof Data types "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-13 11:29 -0400
                Re: sizeof Data types supercat@casperkitty.com - 2016-08-13 09:18 -0700
          Re: sizeof Data types Keith Thompson <kst-u@mib.org> - 2016-08-10 10:13 -0700
            Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-11 11:56 -0400
  Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-09 12:59 -0400
    Re: sizeof Data types "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-09 13:49 -0400
      Re: sizeof Data types Ken Brody <kenbrody@spamcop.net> - 2016-08-10 12:08 -0400
    Re: sizeof Data types Keith Thompson <kst-u@mib.org> - 2016-08-09 11:35 -0700

csiph-web