cent and ucent?

Iain Buclaw ibuclaw at ubuntu.com
Sun Jan 29 19:17:50 PST 2012


On 29 January 2012 22:26, Jonathan M Davis <jmdavisProg at gmx.com> wrote:
> On Sunday, January 29, 2012 16:26:02 Timon Gehr wrote:
>> long long is 64-bit on 64-bit linux.
>
> Are you sure? I'm _certain_ that we looked at this at work when we were
> sorting issue with moving some of our products to 64-bit and found that long
> long was 128 bits. Checking...
>
> Well, you're right. Now I'm seriously confused. Hmmm...
>
> long double is 128-bit. Maybe that's what threw me off. Well, thanks for
> correcting me in either case. I thought that I'd had all of that figured out.
> This is one of the many reasons why I think that any language which didn't
> define integers according to their _absolute_ size instead of relative size
> (with the possible exception of some types which vary based on the machine so
> that you're using the most efficient integer for that machine or are able to
> index the full memory space) made a huge mistake. C's type scheme is nothing
> but trouble as far as integral sizes go IMHO. printf in particular is one of
> the more annoying things to worry about with cross-platform development thanks
> to varying integer size. Bleh. Enough of my whining.
>
> In any case, gcc _does_ define __int128 (
> http://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html ), so as far as the
> question goes, gcc _does_ have 128 bit integers, even if long long isn't 128
> bits on 64-bit systems.
>
> - Jonathan M Davis

Can be turned on via compiler switch:

-m128bit-long-double

or set at the configure stage:

--with-long-double-128


Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


More information about the Digitalmars-d mailing list