| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1021 人关注过本帖, 1 人收藏
标题:【求助】二进制转十进制 结果都对 交上去总是 67%错误 求指教
只看楼主 加入收藏
吐歌
Rank: 2
等 级:论坛游民
帖 子:43
专家分:19
注 册:2014-10-19
结帖率:100%
收藏(1)
 问题点数:0 回复次数:2 
【求助】二进制转十进制 结果都对 交上去总是 67%错误 求指教
Problem A: 二进制整数转十进制
Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 2636  Solved: 938
[Submit][Status][Web Board]
Description
给出一个二进制的非负整数x,x<232,把它转换成十进制数输出。
Input
输入为多行,每行一个二进制非负整数x。
Output
每行输出x对应的十进制数值。
Sample Input
0
1
01
10
11
100001
1111111111111111
Sample Output
0
1
1
2
3
33
65535
我的代码:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#define K 520520
int main()
{
      long long int x, n, h, d, num, c, a;
      while(scanf("%lld", &x) != -1)
      {

          d=x%10;
          h=x/10;
          num=0;
          n=1;
          while(h != 0)
          {
              c=h%10;
              n*=2;
              a=c*n;
              num+=a;
              h/=10;

          }
          printf("%lld\n",d+num);


      }
      return 0;
}
搜索更多相关主题的帖子: include Memory 二进制 十进制 
2014-11-08 08:59
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
如果我没猜错,“x<232”应该是“x<2^32”吧?long long只有64位,存不下32个1这么长的十进制数。话说为什么不用字符串呢?更简单。

重剑无锋,大巧不工
2014-11-08 22:24
吐歌
Rank: 2
等 级:论坛游民
帖 子:43
专家分:19
注 册:2014-10-19
收藏
得分:0 
已会  谢谢

||||||||||||^_^COMEONFORGOODLIFE^_^||||||||||||
2014-11-12 09:28
快速回复:【求助】二进制转十进制 结果都对 交上去总是 67%错误 求指教
数据加载中...
 
   



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

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