C语言编程:输入1个不大于32676的整数,转换成2进制!!!

Python052

C语言编程:输入1个不大于32676的整数,转换成2进制!!!,第1张

#include <stdio.h>

void fun(int m)

{

if(m<2)

else fun(m/2)

printf("%d",m%2)

}

int main()

{

int n

printf("INPUT NUMBER n:\n")

scanf("%d",&n)

fun(n)

printf("\n")

return 0

}

自己写的,编译运行通过

当然你说的也对,但是我们也可以走点弯路。定义最大值 最小值都是16位,比如max=32767

min=-32768 将运算结果存入32变量中,然后与max min 做比较看是否溢出不就可以了

例子:

int a

short int b=32767

a=b++

if(a>max){

溢出

}

else b=a

a声明的是无符号整数,赋了32768后,值应该是10000000 00000000.

但%d是把参数当成有符号整数来输出.所以把10000000 00000000看成是负数补码的话,就对应负数-32768