Xref: utzoo comp.lang.c++:13321 comp.lang.c:39112 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!wuarchive!zazen!uwvax!heurikon!ex.heurikon.com!daves From: daves@ex.heurikon.com (Dave Scidmore) Newsgroups: comp.lang.c++,comp.lang.c Subject: Re: 64 bit architectures and C/C++ Message-ID: <521@heurikon.heurikon.com> Date: 8 May 91 04:27:34 GMT References: <1991May01.172042.5214@buster.stafford.tx.us> <1991May2.053551.21176@ccad.uiowa.edu> <1991May03.120455.158@buster.stafford.tx.us> <13357@goofy.Apple.COM> Sender: news@heurikon.heurikon.com Reply-To: daves@ex.heurikon.com (Dave Scidmore) Organization: Heurikon Corporation, Madison, WI Lines: 32 >rli@buster.stafford.tx.us (Buster Irby) writes: >>An Intel or BIG_ENDIAN machine stores the >>bytes in reverse order, while a Motorolla or LITTLE_ENDIAN >>machine stores the bytes in normal order (High to low). In article <13357@goofy.Apple.COM> turk@Apple.COM (Ken Turkowski) writes: >You've got this perfectly reversed. Motorola is a BIG_ENDIAN machine, >and Intel is a LITTLE_ENDIAN machine. Additionally, there is no >such thing as "normal". Exactly. Both conventions have good points and bad points. The "normal" Motorolla convention starts to look a little less normal when dynamic bus sizing is required, in which case all byte data comes over the most significant data bus lines. In addition big endian machines have values that expand in size from the most significant location (i.e. two bytes values at location X have least significant bytes in a different location than four byte values at the same location). On the other hand the little endian convention looks odd when you do a dump of memory and try to find long words within a series of bytes. In the end you can make either convention look "normal" by how you draw the picture of it. For example which of these is normal for storing the value 0x12345678 ? Motorola: Location 0 1 2 3 Bytes 0x12 0x34 0x56 0x78 Intel: Location 3 2 1 0 Bytes 0x12 0x34 0x56 0x78 -- Dave Scidmore, Heurikon Corp. dave.scidmore@heurikon.com