这是一个二进制转化的函数,把a。txt里面的“巨型”二进制数转化成64位的整数
#include<iostream>
#include<fstream>
#include<string>
#include<sstream>
#include<stdint.h>///输出64位的长整形的时候,不能用cin和cout等流操作,用scanf和printf等格式化输出输入
#include<vector> //具体用法: __int64 m; scanf("%I64d",&m); printf("%I64d",m);,其中I是大写的i,小写不行
#include<windows.h>///文件操作的话用fscanf和fprintf,用法和scanf printf类似
using namespace std;
__int64 f(int n);
int main(void)
{ __int64 n,sum;
int i;
string s;
FILE *fp=0;
ifstream in("a.txt");
fp=fopen("b.txt","w");
for(;getline(in,s);)
{
sum=0;
for(i=0;i<s.size();i++)
{ n=(s[i]-'0')*f(s.size()-i-1);
sum+=n;
}
fprintf(fp,"%I64d/n",sum);
}
system("pause");
return 1;
}
__int64 f(int n)
{ int i;
__int64 s=1;
for(i=0;i<n;i++)
s=s*2;
return s;
}