【急求】c语言程序输入一个整数(int),要求输出其二进制形式的值。

(其各位为:第15 14 13 ... 2 1 0 位)
例如输入:
5
输出:
0000000000000101
输入:
-1
输出:
1111111111111111

第1个回答  2009-10-27
我也发一个自编的,已验证通过。

#include <stdio.h>

main()
{
char binOut[17];
short int i, j; /* 16bit的整数,要用short int型 */
scanf("%d", &i);

for(j=15;j>=0;j--)
{
if(i&(1<<j))
binOut[15-j] = '1';
else
binOut[15-j] = '0';
}
binOut[16] = 0;
printf("DEC(%d)=BIN(%s)\n",i,binOut);
}本回答被提问者采纳
第2个回答  2009-10-27
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int n;
char a[50];
int main(void)
{
scanf("%d",&n);
itoa(n,a,2);
puts(a);
return 0;
}

【急求】c语言程序输入一个整数(int),要求输出其二进制形式的值。
main(){ char binOut[17];short int i, j; \/* 16bit的整数,要用short int型 *\/ scanf("%d", &i);for(j=15;j>=0;j--){ if(i&(1<<j))binOut[15-j] = '1';else binOut[15-j] = '0';} binOut[16] = 0;printf("DEC(%d)=BIN(%s)\\n",i,binOut);} ...

C语言输入一整数,输出其二进制。
int a[20]={1,1};printf(“%d\\t%d\\t”,a[0],a[1]);for(int i=0;i<20;i++){ printf(“%d\\t”,a[i]=a[i-1]+a[i-2]);}

C语言如何输入一个数值(int,float,double,char,long),以二进制的形式输...
(*p & (1<0);}int main(){ char c=122; int i=123,j; long a=124; long long b=125; float x=19.375; double y=19.375; char *p; p=&c; printf("c="); prt(p); printf("\\n"); p=(

c语言怎样 有键盘输入一个整数,在屏幕上输出其二进制数值
int main(){ int iDat = 0, i = 0, iBase = 0, iCont = 0;int iArr[N];puts("Please input the data:");scanf("%d",&iDat);puts("Please input the Base:");scanf("%d",&iBase);iCont = iDat;do { iArr[i++] = iCont % iBase;iCont \/= iBase;} while (iCont !

c语言编程:输入一个整数,输出它的二进制序列
a[n-k-1]=t;\/\/for循环是为了交换顺序,比如x=11是的二进制码是1011这4个码一次存在a[3] a[2] a[1] a[0]中,而输出的时候是按a[0] a[1] a[2] a[3]这样输出的如果没有这个交换屏幕上看到的会是1101 } return n;\/\/返回值是数组中有用数据的个数 } 这个代码是经...

输入一个整数,输出它的二进制形式(c语言大神给看看问题出在哪里)
int b[100]; scanf("%d",&a); while(a!=0) \/\/范围控制,仔细考虑一下,a的值一直是0 { b[i]=a%2; a\/=2; i++; } for(j=i-1;j>=0;j--) { printf("%d",b[j]); } return 0;} ...

输入一个整数,将其转化为二进制数进行输出用c语言
include<stdio.h>int main(){ int i=0,n; char bin[32]; scanf("%d",&n); while(n) { bin[i]=(n&1)+'0'; n=n>>1; i++; } for(i=i-1;i>=0;i--) printf("%c",bin[i]); return 0;} ...

c语言该程序哪错了。。任意输入一个整数输出二进制。十进制。十六进制...
printf("\\n");} void printb(int x,int n) \/*输出整数x二进制形式的后n位 *\/ { if(n>0){ printf("%c", '0'+(unsigned)((x & (1 << (n-1))) >> (n-1))); \/* 输出第n位 *\/ printb(x,n-1); \/* 递归调用,输出x的后n-1位 *\/ } } ...

C语言中有直接把一个int类型的整数化成二进制数的办法吗 必须要自己...
因为C没有提供二进制输入、输出的功能,所以也会有这种数字转换的现成办法,都得自己写。但写起来可以用一些库函数来完成——include "stdio.h"#include <stdlib.h>int main(int argv,char *argc[]){int x=123456789;char b[33];itoa(x,b,2);\/\/调用itoa把x转换成二进制字符串printf("%d(10...

C语言程序:实现从键盘输入一个整数,输出该数的平方。
include "stdio.h"main(){int x,y;printf("请输入一个整数\\n");scanf("%d",&x);y=x*x;printf("该数的平方为%d",y);}

相似回答