Time Limit: 3 second

Memory Limit: 2 MB

问题描述

输入一个二进制数,编程转换为十进制数。

整数部分不会超过65535,二进制的小数部分不会超过4位。

Sample Input

1111111111111111

Sample Output

65535

Sample Input

1.1

Sample Output

1.5

【题目链接】:http://noi.qz5z.com/viewtask.asp?id=rlz02

【题解】



二进制小数的权依次为10^-1,10^-2….

输出的话,不能直接cout;

要加个setprecision(x);

x是”有效数字”;不加的话默认为6;(浮点数);

2222222222222222222会写成6个2然后乘Exx的形式;

2222.0222的话只会保留2222.02;

头文件是iomanip



【完整代码】

//#include <bits/stdc++.h>
#include <cstdio>
#include <string>
#include <iostream>
#include <iomanip> using namespace std; string s; int main()
{
//freopen("F:\\rush.txt","r",stdin);
cin >> s;
int pos = s.find('.',0);
if (pos!=-1)
{
int num = 1;
int zhengshu = 0;
for (int i = pos-1;i >= 0;i--)
{
if (s[i]=='1')
zhengshu+=num;
num*=2;
}
double num1 = 0.5,xiaoshu = 0;
int len = s.size();
for (int i = pos+1;i <= len-1;i++)
{
if (s[i]=='1')
xiaoshu+=num1;
num1*=0.5;
}
int lo;
double temp = 0;
temp = zhengshu;
temp+=xiaoshu;
cout <<setprecision(9)<<temp<<endl;
}
else
{
int num = 1;
int zhengshu = 0,len = s.size();
for (int i = len-1;i >= 0;i--)
{
if (s[i]=='1')
zhengshu+=num;
num*=2;
}
printf("%d\n",zhengshu);
}
return 0;
}

【rlz02】二进制转十进制的更多相关文章

  1. js二进制与十进制互转

    十进制转换为二进制: var num = 100; console.log(num.toString(2)); toString()方法可把一个 Number 对象转换为一个字符串,并返回结果. 语法 ...

  2. C# 二进制,十进制,十六进制

    //十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...

  3. c#二进制、十进制、16进制之间的转换

    //十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...

  4. Python进制转换(二进制、十进制和十六进制)

    #!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, ...

  5. golang 二进制转十进制实现方式

    golang 二进制转十进制实现方式 直接上代码 package main import ( "fmt" "math" ) func StringToIntAr ...

  6. Java入门:基础算法之二进制转换为十进制

    Java有两种方法可以将二进制数转换为十进制数: 1)使用Integer类的Integer.parseInt()方法. 2)自己编写转换逻辑. 方法1:使用Integer.parseInt()实现二进 ...

  7. python 实现进制转换(二进制转十进制)

    摘自https://baike.baidu.com/item/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6 pytho ...

  8. Python 进制转换 二进制 八进制 十进制 十六进制

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...

  9. Python进制转换(二进制/八进制/十进制/十六进制)

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 ba ...

  10. C#中二进制、十进制和十六进制互相转换的方法

    二进制在C#中无法直接表示,我们一般用0和1的字符串来表示一个数的二进制形式.比如4的二进制为"100".下面介绍C#里面用于进制转换的方法. 十进制转换为二进制(int--> ...

随机推荐

  1. Gym 100952 B. New Job

    B. New Job time limit per test 1 second memory limit per test 64 megabytes input standard input outp ...

  2. Finance and Good Society

    Finance is a technology of great power. It plays an important role in our society which range from t ...

  3. WINDOWS8.1企业版官方下载

    这是评估版 WINDOWS8.1企业版官方下载源 https://www.itechtics.com/download-windows-8-1-enterprise-offline-installer ...

  4. js38---门面模式

    (function(){ //门面 function addEvebtFacade(el,type,fn){ if(window.addEventListener){ //使用与火狐浏览器 alert ...

  5. Linux文本编辑器

    1.编辑模式 2.命令模式 3.底部命令模式 注意:如果发现编辑不了.可能是因为非法退出产生一个后缀名为.swp 的临时隐藏文件. 将其删除重新编辑即可!

  6. 洛谷 P1689 方程求解

    P1689 方程求解 题目描述 给一个方程,形如X+Y=Z或X-Y=Z.给出了其中两个未知数,请求出第三个数.未知数用‘?’表示,等式中也许会出现一些多余的空格. 输入输出格式 输入格式: 一行,方程 ...

  7. Spring入门--控制反转(IOC)与依赖注入(DI)

        1.控制反转(Inversion of Control)与依赖注入(Dependency Injection) 控制反转即IoC (Inversion of Control).它把传统上由程序 ...

  8. elasticsearch选举master

    数据节点确定了master以后.会开启MasterPinger线程来与其保持心跳通信的逻辑假设通信过程中链接断开,会通过MasterNodeFailureListener监听器进行回调处理处理过程中会 ...

  9. 【SSH学习笔记】—从配置Struts1环境到简单实例

    以下我将从一个简单点的计算器实例,介绍struts1的环境配置,以及其重要的两个核心类:ActionForm和Action  简单计算器实现思路: 1.提供一个输入界面,输入两个数字和运算符(+.-. ...

  10. 用PHP 去掉所有html标签里的部分属性

    用PHP 去掉所有html标签里的部分属性 http://zhidao.baidu.com/question/418471924.html 用PHP 去掉所有html标签里的部分属性 tppabs & ...