标题:二进制的大整数转化为十进制,求助大佬
只看楼主
yujianhe
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-3-19
结帖率:0
已结贴  问题点数:20 回复次数:5 
二进制的大整数转化为十进制,求助大佬
输入为一个二进制大整数(大整数大于0,不带符号,无前导0,至少1位数字,且不超过100位数字)。要求将该整数转换成十进制数,并输出。
建议:用字符数组存储大整数。
搜索更多相关主题的帖子: 二进制 整数 转化 十进制 位数 
2019-04-24 09:33
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
手工模拟

DO IT YOURSELF !
2019-04-24 09:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册: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
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
回复 5楼 yujianhe
代码已经给你了,看不出来的话,也可以编译后运行看看。
2019-04-26 21:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494380-1-1.html




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

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