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


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

Re: literals for an int128 class

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c++
Subject Re: literals for an int128 class
Date Wed, 04 May 2011 21:15:26 +1200
Lines 36
Message-ID <92cjpeFj03U17@mid.individual.net> (permalink)
References <8ec2c079-9c65-462a-a4b2-af8f2f0422ce@p7g2000yqd.googlegroups.com> <ad75ebc6-5f03-4f1b-aa58-2e59d6cfc1ca@r20g2000yqd.googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
X-Trace individual.net pNSHoijYvqd5kNBKQoteyg4IE4Ed/ei/HO3z13636xgxMtrpOJ
Cancel-Lock sha1:6Qdhavhu6knelHp5xUCnARA2pWQ=
User-Agent Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.2.9) Gecko/20101021 Lightning/1.0b2 Thunderbird/3.1.4
In-Reply-To <ad75ebc6-5f03-4f1b-aa58-2e59d6cfc1ca@r20g2000yqd.googlegroups.com>
Xref x330-a1.tempe.blueboxinc.net comp.lang.c++:4663

Show key headers only | View raw


On 05/ 4/11 08:38 PM, Michael Doubez wrote:
> On 3 mai, 22:39, cps<chrissus...@gmail.com>  wrote:
>> I am considering writing an int128 class as a programming exercise.
>> Before I start (and I have a fair idea of how to do it) I was
>> wondering what I can do about literals and the assignment operator.  I
>> would like to be able to use integer literals with the assignment and
>> other operators with literals that are sized at 128 bits.
>>
>> E.g. I'd like to be able to do:
>>
>>       uint128 myInt128 = 184467440737095516160;
>>
>>       Note that the foregoing literal would produce an error (correctly
>> so) if I attempted to assign it to an uint64 because it is (2^64) *
>> 10.
>>
>>       Is there any way I can set it up to deal with large literals?
>>
>>      Or am I going to have to use strings and parse them?
>
> Parsing it from string is however a good idea.
>
> With C++0x, you will be able to write:
>
> uint128  operator "" ulll(const char * string_values, size_t
> num_chars)
> {
>    return uint128::parse(string_values,num_chars);
> }
>
> uint128 myInt128 = 184467440737095516160ulll;

Neat.  In which section of the standard is this described?

-- 
Ian Collins

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


Thread

literals for an int128 class cps <chrissusie8@gmail.com> - 2011-05-03 13:39 -0700
  Re: literals for an int128 class Victor Bazarov <v.bazarov@comcast.invalid> - 2011-05-03 16:51 -0400
  Re: literals for an int128 class Ian Collins <ian-news@hotmail.com> - 2011-05-04 08:53 +1200
  Re: literals for an int128 class Pete Becker <pete@versatilecoding.com> - 2011-05-03 17:17 -0400
  Re: literals for an int128 class Michael Doubez <michael.doubez@free.fr> - 2011-05-04 01:38 -0700
    Re: literals for an int128 class Ian Collins <ian-news@hotmail.com> - 2011-05-04 21:15 +1200
      Re: literals for an int128 class Michael Doubez <michael.doubez@free.fr> - 2011-05-06 01:03 -0700
        Re: literals for an int128 class Pete Becker <pete@versatilecoding.com> - 2011-05-06 08:00 -0400
          Re: literals for an int128 class Victor Bazarov <v.bazarov@comcast.invalid> - 2011-05-06 09:30 -0400
          Re: literals for an int128 class Michael Doubez <michael.doubez@free.fr> - 2011-05-06 08:00 -0700

csiph-web