3.2C语言问题 编写一个程序输出一个无符号整型变量的二进制形式

.编写一个程序,输出一个无符号整型变量值的二进制形式。下面是一段可以实现逐位输出功能的语句,请理解后应用到自己的程序中。
unsigned int a,b,n,mode;
scanf("%u",&a);
n=16; b=a; mode=0x8000;
printf("%u in binary format is:",a);
while(n>0) {     / * 表示在条件满足,即n>0的时候循环执行{}内的4条语句 */
printf("%d",b/mode);
b=b%mode;
mode=mode/2;
n=n-1;
}

提问的几道题目,在这里都有

连续求余2,输出余数,用递归可实现倒序输出

你提供的代码是不理解,还是要形成一个可执行程序啊?为啥提供的无符号整型是个16位的,哪一年写出来的代码啊?
0x8000就是二进制最高位是1,相当于2的15次方,输入的b值除以它,就是b的最高位,然后循环中将mode除以2 ,就是逐步变成2的14次方、2的13次方,并且b求余2就是去掉最高位后剩余部分分别除以mode,得到第14位,13位....,知道n变为0,得到最后的第0位。从而输出二进制值

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632