128位二进制字符串转换为十进制字符串

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:21:30
现在想先输入一个由‘0’、‘1’组成的二进制字符串(128位,如果可以的话希望能够扩充更多位,灵活应用!),然后将这个字符串转换为由‘0’、‘1’、‘2’……‘9’组成的十进制字符串,用c语言实现,

伪代码也可以,具体代码更好…………

谢谢了各位,有什么高招的请不吝赐教……
分都是最高的了,请把题目看清楚…………如果一般类型能存储的话就不会用字符串来存储了…………期待满意答案…………

如果这个二进制数比较大的话, 大到只能用数组储存这个二进制数,
当然如果大到转化成10进制int存不下的情况那另当别论

#include<stdio.h>
#include<string.h>

int main()
{
char a[33];
int i, num = 0;
scanf("%s", a);

for(i=strlen(a)-1; i>=0; i--)
{
num*=2;
num+=a[i]-'0';
}
printf("%d\n", num);
return 0;
}

不好意思,没看清楚题目,大数的我也没编出来。
我在网上找到了一个C++的,希望对你有帮助。
//==========================================
//将64个3000位的二进制转化成十进制,性能:120秒内
//------------------------------------------
#include<iostream>
#include<fstream>
#include<sstream>
#include<algorithm>
#include<time.h>
using namespace std;
//------------------------------------------
int main(){
clock_t start=clock(); //统计时间
ifstream in("abc.txt");
for(string s;getline(in,s);){ //读取二进制数
int b[904]={0}