C语言运行具体过程讲解while()语句

#include"stdio.h"
int main(void)
{
int x=39;
long r=0,e=1;
while(x)
{
r=x%2e+r;
x/=2;
e
=10;
}
printf("r=%d",r);
}

运行结果:r=100111
我想知道运行的具体过程讲解
谢谢

img

img

r=x%2e+r;这条语句有语法错误,准确是怎么写的呢?
主要是看循环次数,当x=0时结束循环。

这个代码是把10进制转成2进制的整数形式

x%2 是从x取一个2进制数, 乘e是把这个2进制数放到r的第几位,

x/=2是把x取出的2进制数去掉、以方便下次取新的2进制数

e*=10是把e增加一位

直到x是0结束循环