您的位置:首页 > 编程语言 > C语言/C++

c语言基本算法程序百例之十—数值转换

2011-06-21 09:25 232 查看
#include<stdio.h>
void printb(int,int);
int main()
{
int x;printf("Input number:");
scanf("%d",&x);
printf("number of decimal form:%d/n",x);
printf(" it's binary form:");
printb(x,sizeof(int)*8); /*x:整数 sizeof(int):int型在内存中所占的字节数
sizeof(int)*8:int型对应的位数*/
putchar('/n');
}
void printb(int x,int n)
{
if(n>0)
{
putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1))); /*输出第n位*/
printb(x,n-1); /*归调用,输出x的后n-1位*/
}
}
/*
运行结果如下:
------------------------------------------------------------------------------
Input number:8
number of decimal form:8
it's binary form:00000000000000000000000000001000
Process returned 10 (0xA)   execution time : 2.750 s
Press any key to continue.
-------------------------------------------------------------------------------
*/


思考题:

将任意正整数转换为四进制或八进制。

解答:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: