【rlz02】二进制转十进制
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】二进制转十进制的更多相关文章
- js二进制与十进制互转
十进制转换为二进制: var num = 100; console.log(num.toString(2)); toString()方法可把一个 Number 对象转换为一个字符串,并返回结果. 语法 ...
- C# 二进制,十进制,十六进制
//十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...
- c#二进制、十进制、16进制之间的转换
//十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...
- Python进制转换(二进制、十进制和十六进制)
#!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, ...
- golang 二进制转十进制实现方式
golang 二进制转十进制实现方式 直接上代码 package main import ( "fmt" "math" ) func StringToIntAr ...
- Java入门:基础算法之二进制转换为十进制
Java有两种方法可以将二进制数转换为十进制数: 1)使用Integer类的Integer.parseInt()方法. 2)自己编写转换逻辑. 方法1:使用Integer.parseInt()实现二进 ...
- 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 ...
- Python 进制转换 二进制 八进制 十进制 十六进制
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...
- Python进制转换(二进制/八进制/十进制/十六进制)
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 ba ...
- C#中二进制、十进制和十六进制互相转换的方法
二进制在C#中无法直接表示,我们一般用0和1的字符串来表示一个数的二进制形式.比如4的二进制为"100".下面介绍C#里面用于进制转换的方法. 十进制转换为二进制(int--> ...
随机推荐
- BootStrap_table.js 学习
@{ Layout = null; ViewBag.Title = "基于BootstrapTable的简单应用";} <!--添加相关样式引用--><link ...
- nginx配置静态文件服务器的一个特殊需求的探索和分享, nginx处理不同路径返回统一文件,nginx改写,跳转请求.
最近在做一个前后端分离的个人博客,在做自己博客的时候有个想法,本来是打算用nginx作为静态文件服务器使用,django做后端程序. 我的前端页面用vue写的,结果用组件用嗨了,发现页面列表和 详情都 ...
- java初探秘之推断输入的一串字符是否全为小写字母
import java.io.IOException; import java.util.*; public class Two { public static void main(String[] ...
- STL中向量vector笔记
vector的本质是:数组的封装 特点:读取能在常数时间内完成 Vector成员函数 函数 表述 c.assign(beg,end) c.assign(n,elem) 将[beg; end)区间中的数 ...
- Atcoder AtCoder Regular Contest 079 E - Decrease (Judge ver.)
E - Decrease (Judge ver.) Time limit : 2sec / Memory limit : 256MB Score : 600 points Problem Statem ...
- 将vue-cli 2.x的项目升级到3.x
尝试将vue-cli 2.x的项目升级到3.x,记录一下升级过程,和遇到的坑 1. 直接复制替换src文件夹 2. 安装项目需要的依赖 (可以将原来package.json dependencies下 ...
- PYTHON学习第四天课后总结:
第三天学习课后总结: 今日重点: 流程控制 1,if 条件判断语句 2,while 循环 3,for 循环 一,if +条件判断语句: 1> if+条件判断表达式: 子代码1 子代码2 子代 ...
- vmware workstation15.1.0下载地址及密钥(亲测可用)
官网下载链接: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.1.0-13591040.exe ...
- 1、DOM4J简介
1.DOM4J简介 DOM4J是 dom4j.org 出品的一个开源 XML 解析包.DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP. DOM4J ...
- php函数,static,globalkeyword及三种变量作用域
函数 和js函数相似,关注php与其它语言不用的地方 函数的形參默认值 形式: function f($a,$b=3,$vc = "abc"){ } 注意:没有给默认值的形參必须传 ...