pylihao_ 2022-03-06 18:51 采纳率: 100%
浏览 30
已结题

关于c语言程序问题将数值转为2进制怎么运行的

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; }
这是什么意思?

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-03-07 09:34
    关注

    代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
    提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
    单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 创建了问题 3月6日

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据