| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3124 人关注过本帖
标题:二进制的大整数转化为十进制,求助大佬
只看楼主 加入收藏
yujianhe
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-3-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
二进制的大整数转化为十进制,求助大佬
输入为一个二进制大整数(大整数大于0,不带符号,无前导0,至少1位数字,且不超过100位数字)。要求将该整数转换成十进制数,并输出。
建议:用字符数组存储大整数。
搜索更多相关主题的帖子: 二进制 整数 转化 十进制 位数 
2019-04-24 09:33
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
手工模拟

DO IT YOURSELF !
2019-04-24 09:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
仅供参考
程序代码:
#include <stdio.h>

int main( void )
{
    char bin[101];
    scanf( "%s", bin );

    unsigned long long dec[2] = { 0, 0 }; // base 10^18
    for( const char* p=bin; *p; ++p )
    {
        dec[1] = dec[0]*2/1000000000000000000 + dec[1]*2;
        dec[0] = dec[0]*2%1000000000000000000 + (*p-'0');
    }

    if( dec[1] != 0 )
        printf( "%llu%018llu\n", dec[1], dec[0] );
    else
        printf( "%llu\n", dec[0] );
}

2019-04-24 11:24
yujianhe
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-3-19
收藏
得分:0 
回复 2楼 wp231957
求助呀,不知道怎么二进制转化十进制,太大了,如何储存在数组里
2019-04-26 20:07
yujianhe
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-3-19
收藏
得分:0 
回复 3楼 rjsp
100位的二进制能放的下吗?
2019-04-26 20:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
回复 5楼 yujianhe
代码已经给你了,看不出来的话,也可以编译后运行看看。
2019-04-26 21:38
快速回复:二进制的大整数转化为十进制,求助大佬
数据加载中...
 
   



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

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