64位大型整数的操作

这是一个二进制转化的函数,把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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值