| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1713 人关注过本帖, 1 人收藏
标题:如何实现十进制和二进制的转换
只看楼主 加入收藏
xinwu
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-6-19
收藏(1)
 问题点数:0 回复次数:2 
如何实现十进制和二进制的转换
例:输入十进制8  输出二进制1000
搜索更多相关主题的帖子: 二进制 十进制 输出 输入 
2004-06-19 17:54
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

main() {int n,a[100],i=0,j; scanf("%d",&n); while(n>=1) {a[i++]=n%2; n=n/2; } for(j=i-1;j>=0;j--) printf("%d",a[j]); printf("\n"); }

是这样吧!


2004-06-19 20:25
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 
以下是任意进制转换的 但是输入的数据不能大于整型数据的范围,且不检查输入的是否正确

比如: 请输入转换进制:16 2 请输入转换数据:A1 10100001 Press any key to continue

#include <stdio.h> #include <string.h> #include <math.h> /*该函数可以实现小于整型数据的任意进制之间转换*/ /*以下函数将a进制数s转换成b进制并输出*/ void f(int a,int b,char s[]) { char r[17]; int i,n,t,k; for(n=strlen(s)-1,i=t=0;*(s+i)!='\0';i++,n--) /*这里先转换成十进制数*/ { if(*(s+i)<='9') t+=(*(s+i)-'0')*int(pow(a,n)); else t+=(*(s+i)-'A'+10)*int(pow(a,n)); } for(i=0;t!=0;i++) /*再转换成b进制*/ { k=t%b; if(k>9)r[i]='A'+k-10; else r[i]='0'+k; t/=b; } r[i]='\0'; s=strrev(r); printf("%s\n",s); } void main() { int a,b; char s[17]; printf("请输入转换进制:"); scanf("%d%d",&a,&b); printf("请输入转换数据:"); scanf("%s",s); f(a,b,s); }


我的主页 http://www.
2004-06-19 20:51
快速回复:如何实现十进制和二进制的转换
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014267 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved