首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

右移操作实现除运算的有关问题

2012-02-07 
右移操作实现除运算的问题问题如下:要实现除法运算的话,右移只能除2^N次方,如果我要除2^N+K的话,该怎么做

右移操作实现除运算的问题
问题如下:
      要实现除法运算的话,右移只能除2^N次方,如果我要除2^N+K的话,该怎么做呢?请高手解答,高分散出!

[解决办法]
貌似必须调用汇编的div了
[解决办法]
右移操作无法实现你的要求,除非2^N+K=2^M.有一个办法是,直接用加法实现除法运算,具体参考微机原理(记得有个公式).另外,你不是已经实现了乘法么?你用乘法实现除法就可以了
[解决办法]
Re: 要实现除法运算的话,右移只能除2^N次方,如果我要除2^N+K的话,该怎么做呢?
谢谢了!
我定义了一个结构体:
typedef struct sint64
{
int high;....

一般的大数处理,
是定义一个数组 a[N],
然后数组成员是某个大数的各个位/或者部分数据(就是相当于你这里的high和low部分),
所以,完全可以借鉴这个大数思想 ...
[解决办法]
http://cache.baidu.com/c?word=laiwusheng%2C%CA%B5%CF%D6%3B%BC%D3%B7%A8&url=http%3A//fenlei45%2E52csdn%2Enet/615288&p=9e7ccb1085cc41ae02bd9b780a4086&user=baidu
我以前发的一个帖子

热点排行