十进制转二进制可以使用库函数itoa。
itoa函数原型:char*itoa(int value,char*string,int radix)
功能:将任意类型的数字转换为字符串。在<stdlib.h>中与之有相反功能的函数是atoi。
nt value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。
扩展资料:
方法
#include<stdio.h>
int main(void)
{ int i=0,n,a[32]
printf("请输入一个十进制整数.\n")
scanf("%d",&n)
while (n>0)
{a[i]=n%2
i=i+1
n=n/2 }
printf("十进制整数转换为二进制数是:\n")
for(i--i>=0i--)
printf("%d",a[i])
printf("\n")
return 0}
十进制整数转换为二进制整数的方法:
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
1、打开visualC++6.0-文件-新建-文件-C++SourceFile。
2、输入预处理命令和主函数:
#include<stdio.h> /*输入输出头文件*/
voidmain()/*空类型:主函数*/
3、定义变量和数组的数据类型并输入一个十进制:
intb[16],x,k,r,i/*定义变量和数组的数据类型为整型*/
printf("输入一个十进制:")/*输出文字提示*/
scanf("%d",&x) /*输入一个十进制数字*/
k=-1/*将-1赋给k*/
4、用除R取余倒计法将十进制的数转化成二进制的数:
do/*用循环将十进制的数转化成二进制的数*/
{
r=x%2/*用除R取余倒计法计算二进制*/
b[++k]=r/*将值赋给数组*/
x/=2/*将原数除2*/
}while(x>=1)
5、输出结果:
for(i=ki>=0i--) /*将上面倒计的数正回来*/
printf("%d",b[i])/*输出结果*/
printf("\n")
6、完整的源代码:
#include<stdio.h> /*输入输出头文件*/
voidmain()/*空类型:主函数*/
{
intb[16],x,k,r,i/*定义变量和数组的数据类型为整型*/
printf("输入一个十进制:")/*输出文字提示*/
scanf("%d",&x) /*输入一个十进制数字*/
k=-1/*将-1赋给k*/
do/*用循环将十进制的数转化成二进制的数*/
{
r=x%2/*用除R取余倒计法计算二进制*/
b[++k]=r/*将值赋给数组*/
x/=2/*将原数除2*/
}while(x>=1)
for(i=ki>=0i--) /*将上面倒计的数正回来*/
printf("%d",b[i])/*输出结果*/
printf("\n")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)