#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