进制间转换

将十进制数转换为二进制数:

非递归算法:

 1 void translate(int n)  //将10进制转换为8位的二进制  
 2 {  
 3     int a[10];  
 4     int i,j;  
 5     i=0;  
 6     while(1)  
 7     {  
 8         a[i++]=n%2;  
 9         if(n/2==0) break;  
10         n/=2;  
11     }  
12     i--;  
13     for(j=1; j<8-i; j++)  
14     {  
15         printf("0");  
16     }  
17     for(j=i; j>=0; j--)  
18     {  
19         printf("%d",a[j]);  
20     }  
21 }  

递归算法:

1 void binary(unsigned long n)
2 {
3     int r;
4     r = n%2;
5     if(n >= 2)
6         binary(n / 2);
7     putchar('0' + r);
8     return;
9 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值