📄 qdiv.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <dos.h>
typedef struct
{
int x;
int y;
}
DivXY;
DivXY QuickDiv(long int DivX,long int DivY)
{
DivXY XY;
long int N1;
int i;
int AM=0;
long int R=0;
int Stopbit;
if(DivX<0)
{
DivX=-DivX;
AM=1;
}
N1=DivX;
for( i = 0; ; i++)
{
if((N1>>i)==0)
break;
}
if(DivY==0)
i=0;
Stopbit=i;
N1=(1<<Stopbit)-1;
for( i = 0; i <= Stopbit; i++)
{
if(R>=DivY)
{
R-=DivY;
DivX=(DivX<<1)|1;
}
else
DivX<<=1;
R=(R<<1)|((DivX>>Stopbit)&0x01);
}
// if(R>DivY) //四舍五入
// ++DivX;
if(AM)
XY.x=-(DivX&N1);
else
XY.x=DivX&N1;
XY.y=R>>1;
return (XY);
}
int main()
{
int N;
int i,j;
int D;
clock_t start, end;
start = clock();
while(1)
{
scanf("%d",&N);
scanf("%d",&D);
printf(" %d %d \n",QuickDiv(N,D).x,QuickDiv(N,D).y);
}
end = clock();
printf("\n");
D=end-start;
printf("%d\n",D);
start = clock();
for(i=-300;i<500;++i)
for(j=100;j<200;j++)
printf("%d ",i/j);
end = clock();
printf("\n");
N=end-start;
printf("%d\n",N);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -