【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--> ...
随机推荐
- 51Nod 迷宫问题(最短路+权值)(模板)
你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数.还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间.游戏规定了 ...
- css相关用法
1. 2. 3.offset([coordinates]) 获取匹配元素在当前视口的相对偏移. 返回的对象包含两个整型属性:top 和 left,以像素计.此方法只对可见元素有效. a.获取当前元素的 ...
- Vue给元素添加样式
Vue中使用样式 绑定css 数组 <style> .red{ color:red } .thin{ font-size:18px } </style> <h1 :cla ...
- 【DRF序列化】
目录 基本的序列化操作 外键/多对多关系的序列化 反序列化的操作 单条数据查询及更新 数据的校验 单个字段的校验 多个字段的校验 自定义校验器 终极用法 ModelSerializer 前后端分离后, ...
- WPF中RichTextBox高度自适应问题解决方法
最近做一个项目需要用到RichTextBox来显示字符串,但是不允许出现滚动条,在RichTextBox宽度给定的条件下,RichTextBox的高度必须正好显示内容,而不出现下拉滚动条. 这样就要计 ...
- 1.19 Python基础知识 - 软件目录开发规范及不同模块之间的调用
一个软件项目的开发,除了需要很厉害的开发能力,同时在软件开发项目时,也需要对项目结构有良好的组织能力,将功能进行拆分,不同的功能放在不同的目录或文件中,方便日后的维护,升级等操作.比如核心代码的目录, ...
- pytest_多用例执行(1)
一.首先创建测试套件 # -*- coding:utf-8 -*-from __future__ import print_functionimport pytestimport allure cla ...
- C#中选中指定文件并读取类似ini文件的内容
一.背景 由于项目中需要去读取设备的配置信息,配置文件的内容和INI配置文件的格式类似,所以可以按照INI文件的方式来处理.涉及如何打开一个文件,获取打开的文件的路径问题,并读取选中的文件里边的内容. ...
- CISP/CISA 每日一题 12
CISA 每日一题(答) 支付系统模式有哪些: 电子现金模式:支付者不必在线,无条件不可追溯性 电子支票模式:支付者不必在线,涉及个人隐私 电子转帐模式:收款人不必在线 图象处理中,应该有适当的___ ...
- 洛谷 P2655 2038年问题
P2655 2038年问题 题目描述 网络时代,机会与危机共存.“千年虫”解决之后,会不会有新的“虫”出现?回答是肯定的,“2038年”就是一个新的关卡. 也许大家都已经知道计算机的2000年问题是什 ...