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


Groups > comp.lang.c++ > #71988

Re: two's complement idea

From cross@spitfire.i.gajendra.net (Dan Cross)
Newsgroups comp.lang.c++
Subject Re: two's complement idea
Date 2020-02-24 03:12 +0000
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <r2veum$8oa$1@reader2.panix.com> (permalink)
References <qppva0$cbj$1@news.albasani.net> <r08tpr$e3b$1@news.albasani.net> <r090qk$dv2$1@dont-email.me>

Show all headers | View raw


In article <r090qk$dv2$1@dont-email.me>,
Alf P. Steinbach <alf.p.steinbach+usenet@gmail.com> wrote:
>On 22.01.2020 08:32, Bonita Montero wrote:
>> I recently had the problem that I wanted to have a constant which is
>> size_t wide and where the highest bit is set. I simply solved it that
>> way (I assume ptrdiff_t as wide as size_t, but this should be common
>> today on all platforms):
>> std::size_t const SIZE_T_MSB = std::numeric_limits<ptrdiff_t>::min();
>> A guarantee from the standard that signed values are 2's-complement
>> woud be nice for that.
>
>C++20 will give you that guarantee.
>
>But e.g. `size_t(-1) - size_t(-1)/2` does the job with just C++98 
>guarantees.

Hmm, can't one simply compute:

	~(size_t)0 ^ (~(size_t)0 >> 1)

?

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


Thread

Re: two's complement idea Bonita Montero <Bonita.Montero@gmail.com> - 2020-01-22 08:32 +0100
  Re: two's complement idea "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2020-01-22 09:23 +0100
    Re: two's complement idea Bonita Montero <Bonita.Montero@gmail.com> - 2020-01-22 14:20 +0100
      Re: two's complement idea Chris Vine <chris@cvine--nospam--.freeserve.co.uk> - 2020-01-22 13:37 +0000
    Re: two's complement idea Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-01-27 01:17 -0800
      Re: two's complement idea "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2020-01-27 12:35 +0100
        Re: two's complement idea Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-15 05:56 -0800
          Re: two's complement idea "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2020-02-16 09:17 +0100
            Re: two's complement idea Richard Damon <Richard@Damon-Family.org> - 2020-02-21 19:35 -0500
              Re: two's complement idea "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2020-02-22 07:01 +0100
            Re: two's complement idea Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-24 08:22 -0800
    Re: two's complement idea cross@spitfire.i.gajendra.net (Dan Cross) - 2020-02-24 03:12 +0000
      Re: two's complement idea cdalten@gmail.com - 2020-02-24 05:53 -0800
      Re: two's complement idea Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-25 07:56 -0800
        Re: two's complement idea cross@spitfire.i.gajendra.net (Dan Cross) - 2020-02-25 22:00 +0000
          Re: two's complement idea Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-25 16:14 -0800
            Re: two's complement idea cdalten@gmail.com - 2020-02-25 18:18 -0800
            Re: two's complement idea cross@spitfire.i.gajendra.net (Dan Cross) - 2020-02-26 02:22 +0000

csiph-web