二进制转换成十进制
作者:互联网
描述
一串串太多太长的二进制数真是枯燥乏味,难怪小明看着看着就看花眼了;小亮看着看着就睡着了;小晶看着看着就恐慌起来了,仿佛自己变成了机器人,原本丰富多彩的世界一下子成了0和1的汪洋大海。他们一致要求将这些二进制数转换成十进制数,只有这样,心里才安稳,才痛快,睡觉才合得上眼。这项工作自然就落到你的手里了,因为早就听说你是处理二进制数的高手了,一点也不怀疑你会一下子想出十七八种转换的方法,而且其中还有几种方法还很经典呢,这儿真的就是你用武的好地方,请下手吧。
输入
有一些64位的二进制数,以01数字串的形式表示,每行只放一个数。如果是-1,那就表示输入结束。
输出
每一个二进制数对应一个十进制数输出。每个输出都要换行。
样例输入
0000001010010000111110111110110110011001011111110011111100000001
0000000000000000000001111111110101010010101010010100000001111100
0000000000000000000000000000000000000000000000000000000000100001
-1
样例输出
184924582623264513
8784594944124
33
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int main(){
int i,n;
string s;
unsigned long long m=0,p=1;
cin>>s;
while (s!="-1")
{
m=0;p=1;
for (int i=0;i<64;i++)
{
if (s[63-i]=='1') m+=p;
p*=2;
}
cout<<m<<endl;
cin>>s;
}
return 0;
}
原来定义个字符串就能直接读取了,乌拉!
标签:转换成,看着,输出,二进制,int,include,十进制 来源: https://blog.csdn.net/m0_51794965/article/details/110227442