进制间转换

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

非递归算法:

 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 }

 

posted @ 2013-10-01 17:46  cpoint  阅读(341)  评论(0编辑  收藏  举报
浏览次数:travelocity promotion codes