字节顺序是指多字节类型的数据在内存中的存放顺序, 通常有小端(Little Endian)
、大端(Big Endian)
两种字节顺序.
内存地址是由上到下有从左至右依次递增的,小端字节序指低字节位数据存放在内存低地址处, 高字节位数据存放在内存高地址处; 大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处.
举个例子, 比如数字0x1 2 3 4 5 6 7 8在两种不同字节序CPU中的存储顺序如下所示:
| | | |
\/ \/
最高位 最低位
Big Endian(高位存低址 低位存高址)
低地址 高地址
| ----------------------------------------->
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | 12 | 34 | 56 | 78 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
高地址
Little Endian
(高位存高址 低位存低址)
低地址 高地址
| ----------------------------------------->
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | 78 | 56 | 34 | 12 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
高地址
从上面两图可以看出, 采用Big Endian方式存储数据更符合我们人类的思维习惯. 所有网络协议也都是采用Big Endian的方式来传输数据的. 所以有时我们也会把Big Endian方式称之为网络字节序.
谈到字节序的问题, 必然牵涉到两大CPU派系. 那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU. PowerPC系列采用Big Endian方式存储数据, 而x86系列则采用Little Endian方式存储数据.
上面是摘自网络的一些介绍,字节序会对不同平台之间传递数据会有影响,虽然字节序只和CPU的构造有关,那么基于Symbian操作系统的ARM平台的字节序是怎样的呢?
写了一段测试代码
TInt number=0x12345678;
TBuf<10> msg;
for(TInt i=0;i<4;i++)
{
msg.AppendNumFixedWidthUC(((TUint8*)&number)[i],EHex,2);
}
RunNote1L(&msg);
在模拟器和N95上测试结果为:78563412,说明字节序是小端的,和X86一样
。
分享到:
相关推荐
Symbian塞班操作系统的介绍以及应用
关于塞班系统的介绍,发展历史,先阶段的研究方法
symbian系统开发教程.....symbian系统开发教程
塞班系统
塞班工具类源码 在官方网下载的symbian系统工具类源码,有需要请下载
塞班系统 Symbian 操作系统是Symbian公司为手机而设计的操作系统,它包含联合的数据库、使用者界面架 构和公共工具的参考实现,它的前身是Psion的EPOC。 目录 Symbian简介 1. 概述 2. 第一款采用Symbian OS的手机 3....
塞班系统支持的天气桌面软件!可以准确获知每天的天气状况!
安卓、苹果、塞班系统比较--安卓、苹果、塞班系统比较
塞班系统迷你地图,各大城市地图,各大城市酒店,机票等查询
Symbian操作系统的内存管理分析
信比安操作系统,信比安公司中文课件,对symbian系统主要方面都有讲解
手机直签软件塞班系统,在线签名,无需证书即可方便完成签名。
内容介绍: 塞班系统16本电子书合集,包含塞班系统开发的全方面资料,是你开发的必备资料。
塞班智能手机,Symbian系统智能手机签名工具,轻松安装各种软件
可以用在塞班系统上的字体驱动,对于一些没有中文固件的手机,安装这个软件,再加载字体就可以正常显示和读写中文了。
手机操作系统Symbian OS是一种很有发展前景的嵌入式操作系统!
塞班系统的资料,有对系统的讲解及开发应用的讲解。本人去实体书店看过相关资料,这本算是比较详细的了。有兴趣的可以参考。
塞班系统开发数据库原理 欢迎下载 流浪的鱼出品
这是一个塞班系统超频的软件,解压后两个都要安,然后超频可能会让手机死机(本人E63使用正常,如果使用变砖请重新刷机,本人不负责任。)