Re: ===$MaxMachineNumber}
- To: mathgroup at smc.vnet.net
- Subject: [mg80848] Re: ===$MaxMachineNumber}
- From: Chris Chiasson <chris.chiasson at gmail.com>
- Date: Tue, 4 Sep 2007 03:43:16 -0400 (EDT)
- References: <200708290810.EAA26797@smc.vnet.net>
On Aug 30, 1:43 am, Daniel Lichtblau <d... at wolfram.com> wrote:
<snip/>
>
> Not in this example.
>
> Looking at the bit pattern of $MaxMachineNumber should give an idea of
> what it actually is.
>
> In[14]:= InputForm[rr = RealDigits[$MaxMachineNumber,2]]
>
> Out[14]//InputForm=
> {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 1024}
>
> In[18]:= Length[rr[[1]]]
>
> Out[18]= 53
>
> So we have a string of 53 1's, to the right of the radix, times 2^1024.
> To get an integer equivalent one would do
>
> In[19]:= ii = Sum[2^j, {j,1024-53,1024-1}];
>
> In[20]:= N[ii]===$MaxMachineNumber
> Out[20]= True
Thank you for this detailed explanation.
</snip>
> The floating point number requires 8 bytes and, as every Mathematica
> entity is stored in an "expr" construct with various fields, the other 8
> bytes are the expr overhead.
Is this why packed arrays save space-they save on the "metadata" that
would normally be required for each sub expression?
--
http://chris.chiasson.name
- Follow-Ups:
- Re: Re: ===$MaxMachineNumber}
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: Re: ===$MaxMachineNumber}