Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I know iPhones (and iPads) run on ARM processors, which are little-endian by default (and iOS on itself is little-endian according to the Wikipedia page); however, ARM processors supposedly have the ability to switch between little-endian and big-endian. How possible is this and how does it work?

share|improve this question
1  
How would the answer to this question be helpful to solve a problem or improve your experience of using an iPhone? If it addresses some real-world concern of a non-developer end user, it doesn't matter how technical it is, but if the question is only of interest to developers, it's off-topic here. –  Daniel Lawson May 3 '12 at 22:27
    
Ok, then should I move it to stackoverflow? –  slartibartfast May 3 '12 at 22:46
1  
@myrkos Or superuser.com –  Dan J May 3 '12 at 23:46
4  
Let's sharpen the question first. We're looking for short questions that invite a long answer. This applies for all sites. SuperUser isn't the place for iOS questions of any sort in general. We're the best place for hardware questions on iOS. If you have a specific programming problem, then asking that question and explaining how iOS hardware endianness is affecting your specific programming question would be the way to go [SO and not here is the forum in that case]. If you want a user perspective on this issue, it's hard to see any site being a better place to house that question than here. –  bmike May 4 '12 at 16:45
1  
"ARM is a little-endian, 32-bit RISC architecture widely used by mobile devices. Gotta make a small note here: ARM is bi-endian (bytesexual, if you will); you can toggle the endianness from the lowest level. It just happens that iOS uses it as little endian. I seem to remember the baseband chip (which is also an ARM core, at least with the original iPhone -- never dealt with the others) being big endian, in fact. Sadly, you can't do this on a per-process level, IIRC, like you can with PowerPC (a huuuuge perk for emulators)." news.ycombinator.com/item?id=1527676 –  thatjuan May 4 '12 at 17:34
add comment

1 Answer 1

Endianness isn't something that end users have any real interaction with - but here is a 10,000 foot summary of what this means for users of Apple products.

In a nutshell - endianness for an internal processor is the same as the writing direction for a language. When you look at letters of an english text, we all agree to start on the top left and read first right then down. Other languages start on the right and read to the left and some even read down first before moving left or right.

It doesn't really matter to a user if the bits in an internal representation of an address or number gets stored little endian or big endian. In fact OS X on a Mac adheres to a big-endian representation and iOS adheres to little-endian ordering. This fact doesn't in any way mean that the two devices can't work together properly. This works because this representation only happens internally and doesn't get exposed to us as users.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.