其他的地方能看明白么?
其他的地方能看明白就不用管那句了,那个附录的主要目的不是让你弄明白如何在做除法的时候不溢出么?
把最后那个公式弄明白就行了
大概意思好像是用那个公式计算的结果只有商,没有余数.为了结果不溢出,只能不计算余数
其实我感觉那个公式有点过于复杂了,那个公式生成的指令肯定会非常多,而且仅根据结果无法判断那个数是否溢出了
如果那样还不如在具体的程序里加个判断语句来防止溢出,比如一个除以10的除法运算,你只要判断被除数是否大于9FFF6(FFFF*A)就行了,如果大于,则结果会溢出.效率比那个公式高
进一步的,你可以将除数和FFFF相乘,看结果是否大于等于被除数,如果大于等于,则这个除法不会溢出,这样效率可能(我不太确定,这个可能会有很多指令)还是比那个公式高.这样通用性更强,而且能得到余数
===========================================
楼主你先别结贴,我还要补充一点东西
===========================================
这个问题里汤叔说的方法也不错:
http://zhidao.baidu.com/question/117361812.html无视我的那个回答吧,人家问怎样吃饭能不噎着我告诉人家别吃饭
那个余数的问题可以把余数除以原来的除数,然后把商放到后来的那个商的后面,余数就是正确的余数,举个例子(都是十六进制的数,不表示了):
1234/10=123......4
1234/100=12......34
用34除以10,商3,余4,将12左移4位,加上3就是正确的商了,然后4就是正确的余数
我刚才搜索了一下,发现有个可以秒杀以上所有方法的东西:
http://www.baidu.com/s?wd=div+%D2%E7%B3%F6+divdw点开第一个就是
===========================================
好了,我补充完了