微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM基础知识教程四:ARM存储系统概述

ARM基础知识教程四:ARM存储系统概述

时间:11-10 来源:互联网 点击:

所有带符号的整型书的运算是按照二进制的补码进行的。
带符号的整型数的运算不进行符号的扩展。
带符号的整型数的右移操作是算数移位。
制定的移位位数的数是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的,其对齐特性能够满足整除的要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top