C趣味程序百例(03)数制转换
10.数制转换
将任意整数转换成二进制形式
*问题分析及算法设计
将十进制整数转换成二进制的方法有很多种。这里介绍的实现方法利用了C语言可以对比特进行操作的特性。对于C语言来说,一个整数在计算机中是以二进制的形式存储的,所以不需要经过一系列的运算将一个整数转换成二进制的形式,只需要在内存中输出整数的二进制表示即可。
*程序描述和注释
# include
void printb(int,int);
void main()
{
int x;printf("输入数字:");
scanf("%d ",& x);
printf("十进制数:%d\n ",x);
printf("是二进制形式:");
printb(x,sizeof(int)* 8);/* x:integer sizeof(int):int类型占用内存的字节数
sizeof(int)* 8:int类型对应的位数*/
putchar(' \ n ');
}
void printb(int x,int n)
{
if(n > 0)
{
putchar(' 0 '+((无符号)(x &(1(n-1)));/*输出第n位*/
printb(x,n-1);/*返回调用并输出X的最后n-1位*/
}
}
0条评论