如何用一个程序实现2进制 8进制 16进制 转化为10进制

[复制链接]
查看11 | 回复0 | 2007-5-10 02:23:15 | 显示全部楼层 |阅读模式
8进制,16进制较简单,用读语句即可解决int i;scanf("%o",&i);-- 读入8进制scanf("%x",&i);-- 读入16进制printf("%d ",i) -- 输出10进制结果。2进制麻烦,按字符串读入: int i,j;char str[8];scanf("%s",&str[0]);j = strlen(str);测定字符串长度。i = 0; 累加器查一位一位字符,最左一位是1,则 i = i 加 2 的 (j-1) 次方最左二位是1,则 i = i 加 2 的 (j-2) 次方.. 直到j 位i = i 加 2 的 0 次方printf("%d ",i) -- 输出10进制结果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行