C语言中如何把数字用二进制输出? (如 %d 是十进制输出)

Python027

C语言中如何把数字用二进制输出? (如 %d 是十进制输出),第1张

没有专门的二进制表示方法,自己不断用n模2取余数,顺序输出就行了。参见下列代码的主函数 dectobin

#include<stdio.h>

int main(void)

{

int i,n

void dectobin(int n)

scanf("%d",&n)

dectobin(n)/*定义函数,将n转换为二进制之后的数值*/ printf("\n")}

void dectobin(int n) {

if(n>1) dectobin(n/2)

printf("%d",n%2)/*输出二进制数值*/

}

//---------------------------------------------------------------------------

#include <stdio.h>

#include <limits.h>

int main(void)

{

int a,i=0

unsigned int mark=1<<CHAR_BIT*sizeof(int)-1

scanf("%d",&a)/*输入要查看二进制形式的整数*/

while (mark)

{

putchar(a&mark?'1':'0')

if (++i%4==0) putchar(' ')

mark>>=1

}

putchar('\n')

return 0

}

//---------------------------------------------------------------------------