#define XL 33
#define OR 113
#define NOR 313
#define TN 344
int to_bits(int critn,char *mask)
{
unsigned int x;
int begin;
if (critn < XL) begin = 1;
else if (critn < OR) begin = XL;
else if (critn < NOR) begin = OR;
else if (critn <= TN) begin = NOR;
else begin = 0;
x = critn - begin;
*mask = (char)(0x80 >> (x % 8));
return (int)(x >> 3); // fast divide by 8
}
我对C++代码没有任何认识。任何人都可以解释这种方法在最后2行中的作用吗?请解释以下C++方法
谢谢
[这个问题](http://stackoverflow.com/questions/141525/)(和答案)可能会有所帮助。 – 2011-04-06 06:57:51
如何定义'DXLO','ORLO'和'NORLO'? – 2011-04-06 07:01:22
我知道这不是你的代码,但任何半面体编译器都会将'x/8'优化为'x >> 3'。不需要让事情变得更加模糊。 – 2011-04-06 07:05:17