zoukankan      html  css  js  c++  java
  • 转换二进制数(这是一道竞赛形式的题目)。

    1. 题目介绍


    转换二进制数(这是一道竞赛形式的题目)。

    时限:3s输人文件: change.in

      一串串太多太长的二进制数真是枯燥乏味,难怪小明看着看着就看花眼了;小亮看着看着就睡着了;小晶看着看着就恐慌起来了,仿佛自己变成了机器人,原本丰富多彩的世界一下子成了0和1的汪洋大海。他们一致要求将这些二进制数转换成十进制数,只有这样,心里才安稳,才痛快,睡觉才合得上眼.
      这项工作自然就落到你的手里了,因为早就听说你是处理二进制数的高手了,一点也不怀疑你会一下子想出十七八种转换的方法,而且其中还有几种方法还很经典呢,这儿真
    的就是你用武的好地方,请下手吧。
      输入说明
      有3000个二进制数,最长的不过64位,在文件中以数字串的形式存放,每行只放1个数。如果是-1,那就表示输入结束
      输出说明
      每一个二进制数对应一个十进制数输出。每个输出都要换行。
      样板输入
      010000111110111110110110011001011111110011111100000001
      00000000000000001111111110101010010101010010100000001111100
      100001
      样板输出
      184924582623264513
      8784594944124
      33

    2. 代码


     1 #include <iostream>
     2 #include <fstream>
     3 #include <sstream>
     4 
     5 using namespace std;
     6 
     7 int main()
     8 {
     9     fstream fin("abc.txt");   //打开文件流
    10     for(string s;getline(fin,s);){   //每次读取一行到字符串s
    11         __int64 ans =0;
    12         if(s =="-1"){    //判断是不是结尾
    13             break;
    14         }
    15         for(int i=0;i<s.length();i++){
    16             ans =(ans<<1)+s[i]-'0';  //从最高位开始是每次左移1位,相当于乘以2
    17         }
    18         cout<<ans<<endl;
    19     }
    20 }
  • 相关阅读:
    JNI 对象处理 (转)
    快速配置vs2012+opencv
    Jni中C++和Java的参数传递(转)
    版本控制之四:SVN客户端重新设置帐号和密码(转)
    版本控制之三:SVN合并及解决冲突(转)
    版本控制之二:SVN的初步使用(转)
    版本控制之一:SVN服务器搭建与安装(转)
    xml读取一行数据
    方法论:怎样练习一万小时
    一位软件工程师的6年总结(转)
  • 原文地址:https://www.cnblogs.com/Triomphe/p/9385347.html
Copyright © 2011-2022 走看看