typedef struct Lnode
{
int data;
char Bits[Num_Bits];
char Group_Sequ;
char Mark;
struct Lnode* next;
}LNode;
int int_power(int x, int n)
{
int i, x_n = 1;
if (n == 0) return 1;
for (i = 1; i <= n; i++)
{
x_n = x;
}
return x_n;
}
//判断变量的个数
void Num_Variate(LNode p)
{
int max = 0, i, x = 2;
LNode* copy_p;
copy_p = p;
while (copy_p)
{
if (copy_p->data > max)
{
max = copy_p->data;
}
copy_p = copy_p->next;
}
for (i = 0; max > int_power(x, i); i++);
Variate = i;
}
//把变量各个二进制位储存起来
void Reslove_LNode(LNode* p)
{
int i, x = 2, Num_1 = 0;
LNode* copy_p = p;
while (copy_p)
{
for (i = 0; i < Variate; i++)
{
if (int_power(x, i) & (copy_p->data))
{
copy_p->Bits[i] = 1;
Num_1++;
}
else { copy_p->Bits[i] = 0; }
}
copy_p->Group_Sequ = Num_1;
Num_1 = 0;
copy_p = copy_p->next;
}
}
reslove_Reslove_LNode中
if (int_power(x, i) & (copy_p->data))
{
copy_p->Bits[i] = 1;
Num_1++;
}
else { copy_p->Bits[i] = 0; }
这是什么意思?