用C语言编程:将任意一个十进制数转换成二进制数哦,按位存放到数组中

如题所述

供参考……
#include "stdio.h"//
void main(void){
int nDec,nArry[33]={NULL,},x=0;;
unsigned i;
printf("请输入一个十进制整数...\n输入的整数是:nDec=");
scanf("%d",&nDec);
printf("对应的二进制是:");
if(!nDec) printf("%d",*nArry=0);
else{
for(i=0x80000000;!(i&nDec);i>>=1);
for(;i;i>>=1)
printf("%d",nArry[x++]=i&nDec || 0);
}
printf("\n");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-01
#include<stdio.h>
void fun(int x)
{
char s[100];
int temp,j,i;
printf("Please input a number:\n");
scanf("%d",&x);
for(i=0;x!=0;i++)
s[i]=x%2+'0', x/=2;
s[i]='\0';
for(j=0;j<i-1;j++,i--)
temp=s[i-1],s[i-1]=s[j],s[j]=temp;
printf("The result is: ");
puts(s);
}
void main()
{
int n;
fun(n);
}本回答被网友采纳
第2个回答  2012-03-13
收藏这个问题

用C语言编程:将任意一个十进制数转换成二进制数哦,按位存放到数组中
void main(void){ int nDec,nArry[33]={NULL,},x=0;;unsigned i;printf("请输入一个十进制整数...\\n输入的整数是:nDec=");scanf("%d",&nDec);printf("对应的二进制是:");if(!nDec) printf("%d",*nArry=0);else{ for(i=0x80000000;!(i&nDec);i>>=1);for(;i;i>>=1)print...

如何用c语言编写将十进制的数转换成二进制数的程序
简单办法是用联合体,直接打印出来。typedef union DANDB { unsigned long int i; \/\/ 存放十进制数 unsigned char c[4]; \/\/ 按字元(bit) 直接打印它出来 } DandB;int main(){ int i,j;DandB v; \/\/ v 是这种联合体变量 printf("Please enter a integer data\\n");scanf("%...

十进制转换为二进制的c++代码
6、输出该位的二进制数,同时将十进制数的整数部分减掉。7、统计二进制的位数,当它的位数达到10位后,停止计算。8、do-while循环语句的判断条件是,十进制数是否为0。9、测试c++程序,输入任意一个十进制小数,看是否会输出对应的二进制。

编写函数fun(),将十进制正整数转换成k进制数,并按位输出
这个可以函数将十进制正整数转换成2到9进制数,将结果倒序的存储在数组d[]里面

初学C语言 求解
然后把取出的整数部分按顺序排列起来,即先取出的整数部分作为二进制小数的高位,后取出的整数部分作为低位有效位。简称"乘2取整法"。3. 含有小数的十进制数转换成二进制,整数、小数部分分别进行转换,然后相加。这导致了一个显而易见的问题:有些十进制数无法转换为有限的二进制数:(0.65)10 = (0...

c语言编程问题!!
但是缺点就是要分配一个二维的数组来存放被分离后的每个 单词,占用存储空间。 *\/ 2.编写实现任意十进制数,转换成r进制数(r在2到16之间) 转换为二进制: \/\/VC++ 6.0编译通过 #include #include void main() { int a,b[30],i; scanf("%d",&a); for(i=0;a!=0;i++) { b[i]=a%2; a=a\/2...

十进制数转化为二进制数的过程是怎样的?
如一个十进制数123.456可以表示成:0.123456*103,十进制小数0.00123456可以表示成0.123456*10-2。纯小数R的小数点后第一位一般为非零数字。同样,对于既有整数部分又有小数部分的二进制数口也可以表示成如下形式:D=R*2N 其中R为一个二进制定点小数,称为D的尾数;N为一个二进制定点整数,称...

有关十进制整数(BCD)转换成二进制的电路设计!
十进制整数(BCD)转换成二进制:在数学中,我们都知道随便一个十进制数如5468,那么它的计算过程可以转换为:5468=5*1000+4*100+6*10+8,因此BCD码转成二进制数的算法就是:abcd=a*1000+b*100+c*10+d。这种算法是最常规的一种算法,里面需要用到乘法器以及加法器,这种实现方式比较...

求助各位C语言大神 输入10个整数,存放在数组中,要求:
include <stdio.h>int main(){ int a[10]; int i,t,m,n,k; for(i = 0; i < 10; i ++)\/\/输入 scanf("%d",a+i); for(i = 0; i < 10; i ++)\/\/原数组输出 printf("%d ", a[i]); printf("\\n"); for(i=0;i<5;i++)\/\/逆序 { ...

求一个简洁的c语言函数将2进制数转换成10进制数,这个二进制数是函数的...
int bin_2_d(char *s){ int i,L,sum=0;L = strlen(s); \/\/2进制数位数 for (i=0;i<L;i++) sum=sum+ (s[i]-'0') *pow(2,L-i-1);return sum;} void main(){ char b[]="10001000"; \/\/2进制数以字符串形式输入存放 int r;r = bin_2_d(b); \/\/转为10...

相似回答