历史上的今天
返回首页

历史上的今天

今天是:2025年01月25日(星期六)

2021年01月25日 | ARM基础知识七

2021-01-25 来源:eefocus

简介:ARM编译器支持的数据类型

*************************************************************

ARM编译器支持的数据类型


************************************************************


数据类型 长度(位) 对齐特性


Char 8 1(字节对齐)


short 16 2(百字对齐)


Int 32 4(字对齐)


Long 32 4(字对齐)


Longlong 64 4(字对齐)


Float 32 4(字对齐)


Double 64 4(字对齐)


Long double 64 4(字对齐)


All pointers 32 4(字对齐)


Bool(C++ only) 32 4(字对齐)


1.整数类型


在ARM体系中,整数类型是以2的补码形式存储的。对于long long类型来说,在little endian内存模式下,其低32位保存在低地址的字单元中,高32为保存在高地址的字单元中;在big endian模式下,其低32位保存在高地址的字单元中,高32为保存在低地址的字单元中。对于整型数据的操作遵守下面的规则:


**所有带符号的整型书的运算是按照二进制的补码进行的。


**带符号的整型数的运算不进行符号的扩展。


**带符号的整型数的右移操作是算数移位。


**制定的移位位数的数是8位的无符号数。


**进行移位操作的数被作为32位数。


**超过31位的逻辑左移的结果为0。


**对于无符号数和有符号的正数来说,超过32位的右移操作结果为0;对于有符号的负数来说,超过32位的右移操作结果为-1。


**整数除法运算的余数和除数有相同的符号。


**当把一个整数截断成位数更短的整数类型的数时,并不能保证所得到的结果的最高位的符号位的正确性。


**整型数据之间的类型转换不会产生异常中断。


**整型数据的溢出不会产生异常中断。


**整型数据除以0将会产生异常中断。


2.浮点数


在ARM体系中,浮点数是按照IEEE标准存储的。


**float类型的数是按照IEEE的单精度数表示的。


**double和long double 是用IEEE的双精度数表示的。


对于浮点数的操作遵守下面的规则:


**遵守正常的IEEE754规则。


**当默认情况下禁止浮点数运算异常中断。


**当发生卷绕时,用最接近的数据来表示。


3.指针类型的数据


下面的规则适用于处数据成员指针以外的其他指针:


**NULL被定义为0。


**相邻的两个存储单元地址相差一。


**在指向函数的指针和指向数据的指针进行数据转换时,编译器将会产生警告信息。


**类型size_t被定义为unsigned int.


**类型ptrdiff_t被定义为signed int。


**两个指针类型的数据相减时,结果可以按照下面的公式得到。


((int)a-(int)b)/(int)sizeof(type pointed to)


这时,只要指针所指的对象不是pack的,其对齐特性能够满足整除的要求。


推荐阅读

史海拾趣

CONTEC公司的发展小趣事

在互联网+的浪潮下,CONTEC公司积极拥抱变革。2010年,公司开始布局“互联网+”领域,通过建立河北省医疗检查监测仪器工程技术研究中心,探索将互联网技术应用于医疗设备。这一举措不仅拓宽了公司的业务范围,还提高了产品的智能化和便捷性。

昆泰(CHRONTEL)公司的发展小趣事

多年来,昆泰始终秉持着创新的理念,不断推动其在CRO领域的技术突破和业务创新。通过与全球各地的药企、科研机构合作,昆泰在药物研发、临床试验等领域取得了多项重要成果。展望未来,昆泰将继续坚持创新驱动的发展战略,为全球医药行业的发展做出更大的贡献。

e2v technologies公司的发展小趣事

e2v Technologies自成立以来,一直致力于技术创新和科学合作。公司曾与多个国际知名科研机构合作,参与了诸如哈勃天文望远镜、Envisat气象环境遥感卫星等著名科学项目。这些项目对图像传感器的精度和稳定性提出了极高的要求,e2v凭借其卓越的技术实力,成功为这些项目提供了高质量的图像传感器,进一步巩固了其在图像传感器领域的领先地位。

明波通信(BWAVE)公司的发展小趣事

随着无线通信技术的快速发展,明波通信紧跟时代步伐,不断投入研发力量,在无线/移动通信领域取得了重大技术突破。公司成功开发出了一系列大规模集成电路(IP/ASIC)及相关控制软件,不仅提高了通信效率和质量,也赢得了国内外客户的广泛认可。这一时期的明波通信,已经成为国内通信行业的佼佼者。

E-T-A [E-T-A Circuit Breakers]公司的发展小趣事

进入21世纪后,E-T-A公司开始关注智能电路保护技术的研发。公司投入大量资源进行技术创新,成功推出了多款智能电路保护产品。这些产品不仅具有更高的安全性和可靠性,还能实现远程监控和控制功能,为客户提供更加便捷和高效的服务。

Advanced Electronic Packaging公司的发展小趣事

随着公司技术的不断进步,Advanced Electronic Packaging公司开始寻求与行业内知名厂商的合作机会。通过与一家全球领先的电子产品制造商达成战略合作,公司成功将其先进的封装技术应用于对方的高端产品线中。这一合作不仅提升了合作双方的产品竞争力,还为Advanced Electronic Packaging公司带来了可观的利润回报。此后,公司陆续与多家知名企业建立了合作关系,进一步巩固了其在电子封装领域的市场地位。

问答坊 | AI 解惑

新手:可控硅SG25AA60门极电压电流问题

可控硅门极电压电流问题:我用的是SG25AA60型号的的可控硅(25A/600V),但PDF资料很简单,自己也是第一次接触可控硅,所以在这问一下, 1.可控硅的门极电压电流一般有什么要求啊? 2.门极触发电压要多大的值才能触发? 3.门极能接电压的正负范 ...…

查看全部问答>

电机驱动资料

本帖最后由 paulhyde 于 2014-9-15 09:37 编辑 希望有用  …

查看全部问答>

EnumWindows能否取得该窗口的exe文件名称

我用CreateToolhelp32Snapshot的方式去做这样的事情是可以取得exe文件的名称的,但是我现在的状况是我的CE机器是别人定制的上面并没有toolhelp.dll这样东东,导致一LoadLibrary(_T(\"toolhelp.dll\")); 就会出错,编译是通过了但是在真实机器上执行 ...…

查看全部问答>

谁有三星2440的BSP安装包和全套文档?

谁有三星2440的BSP CSP安装包和全套文档? 可以给我一份吗? 想了解一下,开阔一下知识. 我的邮箱:huabinsir@126.com. 谢谢.…

查看全部问答>

PB5.0老是编译出错,求助。

Error: Ram start overlaps rom binary Fatal error hit, exiting... makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec). makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec). 出错提示如上。先谢过了。…

查看全部问答>

并口的信号线和3个寄存器24位是一一对应的吗

并口的信号线25根,和数据寄存器8位,控制寄存器8位,状态寄存器8位,是不是一一对应呢 还有EPP模式中,控制寄存器某一位设置0的时候,信号线上是不是低电平,设置1的时候,信号线上是不是高电平呢。…

查看全部问答>

一个困扰已久的问题

不知道VxWorks下有没有类似于Windows下DLL一类的技术呢? 我一直以来都是将应用程序和操作系统打包在一起进行编译,大多数人也好像是如此吧。但是前段时间我听说有人直接在目标机上替换.a就可以完成在Windows下DLL替换一样的效果!!! 不知道哪 ...…

查看全部问答>

关于无线传感器网关

小弟要利用LPC2478+DP83848C做一个无线传感器网关,移植UCOS-II操作系统。最终实现将Zigbee网络的数据上传到以太网上。     各位大侠有什么好的资料或经验可供参考的, 希望多多指教~也希望能在坛子里和大家多多交流…

查看全部问答>

51当中,怎么写自己的头文件

初学51,感觉很多东西都是相同的设定,想把一些相同的写进一个头文件里面,但是不知道怎么写,各位高手指教下!…

查看全部问答>