📄 arm基础知识七 - arm开发者论坛-中国专业arm开发网站.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0050)http://www.armforum.cn/ARMrumen/20071220/1831.html -->
<HTML xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn"><HEAD><TITLE>ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=all name=robots>
<META
content=" ARM编译器支持的数据类型 ************************************************************ 数据类型 长度(位) 对齐特性 Char 8 1(字节对齐) short 16 2(百字对齐) Int 32 4(字对齐) Long 32 4(字对齐"
name=description>
<META content=基础知识 name=keywords 单元 地址 对于 结果 操作 指针 符号 类型 数据><LINK media=screen
href="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/main.css" type=text/css
rel=stylesheet><LINK media=screen
href="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/css.css" type=text/css
rel=stylesheet><LINK media=screen
href="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/home.css" type=text/css
rel=stylesheet>
<SCRIPT src="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/external.js"
type=text/javascript></SCRIPT>
<SCRIPT src="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/js.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript>
function wo_ding(num_id)
{
url = "/plus/wo_ding.php?aid="+num_id+"&post=vote&m=" + Math.random();
new ajax(url, {method: 'get', onComplete:return_review});
}
function return_review(ajax)
{
str_error_num = ajax.responseText
if(str_error_num==0)
{
alert("好像你刚拍过了,发个新文章让其他人拍到首页吧!");
}
else
{
alert("感谢您的投票,你也可以发布自己的文章让其他人拍到首页!")
$("s_ding").innerHTML = str_error_num;
}
}
</SCRIPT>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>
<DIV id=alpha></DIV>
<DIV id=header><A id=top></A>
<DIV id=topnav>
<DIV id=toptext>中国专业ARM开发论坛:WWW.ARMFORUM.CN</DIV>
<UL id=topnavlist>
<LI>中国最大的ARM开发网站,做最好的ARM网站</LI></UL></DIV>
<DIV id=topbox>
<H1><A title=ARM开发论坛
href="http://www.armforum.cn/">中国专业ARM开发:WWW.ARMFORUM.CN</A></H1>
<DIV id=topmiddle><SPAN id=google2><IMG height=32 alt=ARM7
src="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/loading.gif" width=32></SPAN></DIV>
<UL id=topright></SCRIPT></UL>
<DIV class=clear></DIV></DIV>
<UL id=chinahtmlnav>
<LI><A title=ARM开发论坛 href="http://www.armforum.cn/"><SPAN>网站首页</SPAN></A>
<LI><A title=ARM开发论坛-ARM行业动态
href="http://www.armforum.cn/ARMxingyedongtai/index.html"
rel=external><SPAN>ARM行业动态</SPAN></A>
<LI><A title=ARM开发论坛-ARM入门 href="http://www.armforum.cn/ARMrumen/index.html"
rel=external><SPAN>ARM入门</SPAN></A>
<LI><A title=ARM开发论坛-ARM技巧 href="http://www.armforum.cn/ARMzhongji/index.html"
rel=external><SPAN>ARM技巧</SPAN></A>
<LI><A title=ARM开发论坛-ARM仿真
href="http://www.armforum.cn/ARMfangzhen/index.html"
rel=external><SPAN>ARM仿真</SPAN></A>
<LI><A title=ARM开发论坛-网友作品
href="http://www.armforum.cn/wangyouARMzuopin/index.html"
rel=external><SPAN>网友作品</SPAN></A>
<LI><A title=ARM开发论坛-嵌入式系统
href="http://www.armforum.cn/qianrushixitong/index.html"
rel=external><SPAN>嵌入式系统</SPAN></A>
<LI><A title=ARM开发论坛-ARM应用
href="http://www.armforum.cn/ARMyingyong/index.html"
rel=external><SPAN>ARM应用</SPAN></A>
<LI><A title=ARM开发论坛-ARM源码下载
href="http://www.armforum.cn/ARMyuanmaxiazai/index.html"
rel=external><SPAN>ARM源码下载</SPAN></A>
<LI><A title=ARM开发论坛-ARM资料下载
href="http://www.armforum.cn/ARMziliaoxiazai/index.html"
rel=external><SPAN>ARM资料下载</SPAN></A>
<LI><A title=ARM开发论坛专题 href="http://www.armforum.cn/special/index.php"
rel=external><SPAN>专题</SPAN></A> </LI></UL>
<UL id=subinfo>
<LI class=searchli>
<DIV id=searchtop><!-- Google CSE Search Box Begins -->
<FORM id=searchbox_006841628252179339083:u16nw8ub_py
action=http://www.google.com/cse>ARM文章搜索:<INPUT type=hidden
value=006841628252179339083:u16nw8ub_py name=cx> <INPUT size=25 name=q> <INPUT type=submit value=搜索 name=sa> <SPAN id=topbbs><A title=ARM开发论坛
href="http://www.armforum.cn/plus/guestbook/">>>ARM开发论坛用户交流区</A></SPAN></FORM>
<SCRIPT src="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/brand.htm"
type=text/javascript></SCRIPT>
</DIV></LI>
<LI class=c><A
href="http://www.armforum.cn/member/index_do.php?fmdo=user&dopost=regnew">会员注册</A>
| <A title=ARM信息发布
href="http://www.armforum.cn/ARMrumen/20071220/1831.html#">信息发布</A> | <A
href="http://www.armforum.cn/member/article_add.php"
rel=external><STRONG>文章投稿</STRONG></A> </LI>
<LI class=searchli>ss</FORM> </LI>
<LI class=d><A href="http://www.armforum.cn/plus/rssmap.html"
rel=external>信息订阅</A> </LI></UL>
<DIV class=clear></DIV></DIV>
<DIV id=middleimg>
<DIV id=topmidleimg></DIV></DIV>
<DIV id=containertow>
<DIV id=content>
<DIV id=articlenav>您现在正在浏览:<A
href="http://www.armforum.cn/">ARM开发者论坛-中国专业ARM开发网站</A>>><A
href="http://www.armforum.cn/ARMrumen/index.html">ARM入门</A>>></DIV>
<DIV id=article>
<DIV id=entry>
<DIV id=entrytitle>
<H1>ARM基础知识七</H1>
<DIV id=entrymeta>发表时间:2008-03-28
00:48:44 来源:ARM开发者论坛 责任编辑::佚名 阅读数:
<SCRIPT language=javascript
src="ARM基础知识七 - ARM开发者论坛-中国专业ARM开发网站.files/count.htm"></SCRIPT>
</DIV></DIV>
<DIV class=clear></DIV>
<DIV id=entrybody>
<DIV id=entryadbox></DIV>
<STYLE>.Ynm531 {
DISPLAY: none
}
</STYLE>
<P><FONT
size=4>*************************************************************</FONT>
<P class=Ynm531>字串5</P>
<P></P>
<P><FONT size=4>ARM编译器支持的数据类型</FONT>
<P class=Ynm531>http://www.armforum.cn</P>
<P></P>
<P><FONT
size=4>************************************************************<BR>数据类型
长度(位) 对齐特性<BR>Char 8 1(字节对齐)<BR>short 16 2(百字对齐)<BR>Int 32 4(字对齐)<BR>Long 32
4(字对齐)<BR>Longlong 64 4(字对齐)<BR>Float 32 4(字对齐)<BR>Double 64 4(字对齐)<BR>Long
double 64 4(字对齐)<BR>All pointers 32 4(字对齐)<BR>Bool(C only) 32 4(字对齐)</FONT>
<P class=Ynm531>http://www.armforum.cn</P>
<P></P>
<P><FONT size=4>1.整数类型<BR>在ARM体系中,整数类型是以2的补码形式存储的。对于long long类型来说,在little
endian内存模式下,其低32位保存在低地址的字单元中,高32为保存在高地址的字单元中;在big
endian模式下,其低32位保存在高地址的字单元中,高32为保存在低地址的字单元中。对于整型数据的操作遵守下面的规则:<BR>**所有带符号的整型书的运算是按照二进制的补码进行的。<BR>**带符号的整型数的运算不进行符号的扩展。<BR>**带符号的整型数的右移操作是算数移位。<BR>**制定的移位位数的数是8位的无符号数。<BR>**进行移位操作的数被作为32位数。<BR>**超过31位的逻辑左移的结果为0。<BR>**对于无符号数和有符号的正数来说,超过32位的右移操作结果为0;对于有符号的负数来说,超过32位的右移操作结果为-1。<BR>**整数除法运算的余数和除数有相同的符号。<BR>**当把一个整数截断成位数更短的整数类型的数时,并不能保证所得到的结果的最高位的符号位的正确性。<BR>**整型数据之间的类型转换不会产生异常中断。<BR>**整型数据的溢出不会产生异常中断。<BR>**整型数据除以0将会产生异常中断。<BR>2.浮点数<BR>在ARM体系中,浮点数是按照IEEE标准存储的。
<SPAN class=Ynm531>ARM</SPAN> <BR>**float类型的数是按照IEEE的单精度数表示的。<BR>**double和long
double
是用IEEE的双精度数表示的。<BR>对于浮点数的操作遵守下面的规则:<BR>**遵守正常的IEEE754规则。<BR>**当默认情况下禁止浮点数运算异常中断。<BR>**当发生卷绕时,用最接近的数据来表示。<BR>3.指针类型的数据<BR>下面的规则适用于处数据成员指针以外的其他指针:<BR>**NULL被定义为0。<BR>**相邻的两个存储单元地址相差一。<BR>**在指向函数的指针和指向数据的指针进行数据转换时,编译器将会产生警告信息。<BR>**类型size_t被定义为unsigned
int.<BR>**类型ptrdiff_t被定义为signed
int。<BR>**两个指针类型的数据相减时,结果可以按照下面的公式得到。<BR>((int)a-(int)b)/(int)sizeof(type
pointed to)<BR>这时,只要指针所指的对象不是pack的,其对齐特性能够满足整除的要求。</FONT>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -