Re: Re: ===$MaxMachineNumber}
- To: mathgroup at smc.vnet.net
- Subject: [mg80888] Re: [mg80848] Re: ===$MaxMachineNumber}
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Wed, 5 Sep 2007 02:44:17 -0400 (EDT)
- References: <200708290810.EAA26797@smc.vnet.net> <200709040743.DAA23914@smc.vnet.net>
Chris Chiasson wrote: > 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. You are welcome. > </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 > Yes, that's exactly the reason for the space savings. Daniel Lichtblau Wolfram Research
- References:
- Re: ===$MaxMachineNumber}
- From: Chris Chiasson <chris.chiasson@gmail.com>
- Re: ===$MaxMachineNumber}