问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android 手机一般是big-endian,还是little-endian?

发布网友 发布时间:2022-05-01 01:27

我来回答

4个回答

热心网友 时间:2022-06-21 22:03

不同的CUP框架,采用不同的模式。一般来说,x86系列CPU都是little-endian的字节序,PowerPC通常是Big endian。

对于整型、长整型等数据类型,Big endian认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节)。

而Little endian则相反,它认为第一个字节是最低位字节(按照从低地址到高地址的顺序存放数据的低位字节到高位字节)。

Big: 从内存地址的低到高位保存数据的从高到底位Little:从内存地址的低到高位保存数据的从低到高位内存内容如下:0x00000x00010x00020x00030x120x230xab0xcd 如果是big:读出来的内容是0x1234abcd,如果是little读出来的内容是0xcdab3412 把0x1234abcd写入:内存地质0x00000x00010x00020x0003Big0x120x230xab0xcdLittle0xcd0xab0x340x12

CPU能通过跳线来设置CPU工作于Little endian还是Big endian模式。 解答这个问题的方法只能是将一个字节(CHAR/BYTE类型)的数据和一个整型数据存放于同样的内存开始地址,通过读取整型数据,分析CHAR/BYTE数据在整型数据的高位还是低位来判断CPU工作于Little endian还是Big endian模式。

得出如下的答案:typedef unsigned char BYTE;int main(int argc, char* argv[]){ unsigned int num,*p; p = # num = 0; *(BYTE *)p = 0xff; if(num == 0xff) { printf("The endian of cpu is little\n"); } else //num == 0xff000000 { printf("The endian of cpu is big\n"); } return 0;} 除了上述方法(通过指针类型强制转换并对整型数据首字节赋值,判断该赋值赋给了高位还是低位)外,还有没有更好的办法呢?,union的成员本身就被存放在相同的内存空间(共享内存,正是union发挥作用、做贡献的去处),因此,可以将一个CHAR/BYTE数据和一个整型数据同时作为一个union的成员,得出如下答案:int checkCPU(){ { union w { int a; char b; } c; c.a = 1; return (c.b == 1); }} 实现同样的功能,来看看Linux操作系统中相关的源代码是怎么做的:static union { char c[4]; unsigned long l; } endian_test = { { 'l', '?', '?', 'b' } };#define ENDIANNESS ((char)endian_test.l)Linux的内核作者们仅仅用一个union变量和一个简单的宏定义就实现了一大段代码同样的功能。

热心网友 时间:2022-06-21 22:04

跟平台有关吧。大端和小端是就cpu读取方式来讲的。android的应用层开发一般用java语言写,java语言与平台无关,所以不需要关心大小端

热心网友 时间:2022-06-21 22:04

Intel计算机采用的是Ltttle Endian,而Motorola处理器、IBM大型机、SPARC处理器和ARM处理器使用Little Endian方案。

热心网友 时间:2022-06-21 22:05

是little endain ,好像makefile 里有相关编译参数的定义
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 用have to造句并翻译? 大小端字节序是不是只存在内存中,文件中不存在这个问题 dnf安图恩单人模式什么时候出 求解什么叫做ARM-STM32的小端格式 保存为二进制格式的大小端问题 dnf安图恩梅尔塔的球怎么样吃 ARM微处理器的哪几种数据类型,如何自然对界,什么是大小端格式? 洗衣机的这个东西是干嘛的? 大小端字节序存在的意义,为什么不用一个标 健康洗衣机是什么 洗衣机什么这些术语都什么意思啊? 洗衣机这个东西做什么的 您好请问在山东聊城去甘肃省的刘家峡水电站附近的永靖县怎么去,好像得倒车,去什么地方倒合适呢! 在兰州有什么好玩的地方 兰州好吗,有什么好好玩的地方 兰州什么好玩的地方? 江湖救急!请教各位兰州市内可以玩的地方 永靖县经济怎么样? 黄河小浪底风景区有什么好玩的? 去刘家峡怎么安排 用Have to ………造句 手机屏幕碎了但是还能用,充电会爆炸吗 用(have to)造句子:我在超市找到一份新工作。 手机掉水里修好后手机表面的屏幕与机体开了个缝充电会不会爆炸? 苹果x后屏碎了不换一边充电一边打游戏会不会爆炸? 用have to 造句校规 用have to 造句 怎样快速灭跳蚤 手机屏摔碎了但电源键发烫会不会爆炸? OPPOA3今天不小心把屏幕摔碎了请问不修会不会影响我正常使用,比如说充电会爆炸什么的 家里有跳蚤怎么快速消除 怎么才能最快的消灭掉家里的跳蚤(家里没有宠物 从外边带回来的) 麦当娜·西科尼拍过的所有的电影有哪些 麦当娜是谁? 为什么说麦当娜是靠性成名的 麦当娜是怎么进入演艺圈的 公司中秋晚会是公司自己搞好还是请电视台搞好? 麦当娜是同性恋吗? 公司中秋晚会有个猜歌名游戏能否提供适合70,80,90后的歌曲名,活动如何策划有意思? 朱莉麦当娜真的是娱乐圈双性恋明星吗?