条件:real=-2 CIRCLE_CNT=1000 M_PI=3.1415
int dd=(real) % CIRCLE_CNT;
double res = (double)((real) % CIRCLE_CNT) * 2 * M_PI / CIRCLE_CNT;//计算
rt_kprintf("dd=%d res=%f real=%d CIRCLE_CNT=%d\n",dd,res,real,CIRCLE_CNT);
输出:dd=294 res=1.847256 real=-2
感觉好奇怪,为什么dd是294?
-2即4,294,967,294,4,294,967,294%1000就是294。可以这样试试(int)real
dd=-2;经过测试结果也是-2。