现在的位置: 首页 > 综合 > 正文

关于 “ARM嵌入式系统开发–软件设计与优化” 这本书中的一个问题

2013年08月23日 ⁄ 综合 ⁄ 共 282字 ⁄ 字号 评论关闭

   <ARM嵌入式系统开发--软件设计与优化> 这本书的第五章第5.10.2节 把除转换为乘(中文版P133页),在这一小节中有一句话:数学上,32位的右移会带来一个错误e2. 第一个问题:请问这里指的错误是什么,又是怎么来的?
    接着的例5.13 标题是显示实际上除法是如何转化为乘法的.可我根据它的程序并没有看出它是怎样将除法转换为了乘法, 它的程序里面有一句, unsigned int s=0xFFFFFFFFu/d;这一句话不就是用了除法运算吗?这和直接求商q=n/d; 余数r=n-q*d;有什么区别呢?
    下面是该段的截图,希望能得到指点,谢谢!

抱歉!评论已关闭.