On Feb 15, 2007, at 9:47 AM, Morton Goldberg wrote:

> On Feb 14, 2007, at 6:37 PM, James Edward Gray II wrote:
>
>> On Feb 14, 2007, at 5:02 PM, Morton Goldberg wrote:
>>
>>> data = ""
>>> [255, 255, 255, 236].each { |e| data << e }
>>> data # => "\377\377\377\354"
>>> data.unpack('l').first # => -20
>>
>> Watch what happens when I run the same code:
>>
>> >> data = ""
>> => ""
>> >> [255, 255, 255, 236].each { |e| data << e }
>> => [255, 255, 255, 236]
>> >> data
>> => "\377\377\377\354"
>> >> data.unpack('l').first
>> => -318767105
>
> I see your point. Many new computers have 64-bit CPUs and we should  
> remember that. Also, you want to be sure I, lowly 32-bit CPU owner,  
> envy you for having one of these <just kidding>.

I'll prop you back up then, this isn't a 32 to 64 bit (size) issue.   
It's an endian (order) issue:

http://en.wikipedia.org/wiki/Endianness

James Edward Gray II