poj1131-Octal Fractions(进制转换)
一,题意:
求一个八进制小数的十进制。
二,思路:
暴力数组模拟计算,注意千万不带小数做除法运算
1,对于八进制小数,转换成十进制,书写形式分析:
2,对其除法过程进行模拟:
3,输出。
三,步骤:
1,0.756[8] -> ( (6/8 + 5)/8 + 7)/8 [10]
2, 除法过程:如 0.75
i,5/8的结果要是整数,那么就5000/8=625 (5加几个0能被8整除就加几个0)
ii,625不能直接加上7,应该加上7000,得到7625;
iii,7625不能被8整除,那么就7625000/8;
3,输出即可。
#include<iostream>
#include<cstring>
using namespace std;
const int N = ;
char d[N] ;
int ans[N] ;
int main(){
while(cin>>d){
memset(ans,,sizeof(ans)); //每组数据都必须先初始化ans[]
int d2;
int len = strlen(d); //记录小数的位数
int t = ;
for(int i = len - ; i > ; i--){
d2 = d[i] - '' ; //d2来接收小数的每一位的数
int k = , j = ;
while(j<t || d2){ //此循环内语句为数组模拟除法计算
d2 = d2* + ans[j++];
ans[k++] = d2/ ;
d2 %= ;
}
t = k; //记录最后的得到的位数
}
cout<<d<<" [8] = 0." ;
for(int i = ; i < t ; i++)
cout<<ans[i];
cout<<" [10]"<<endl;
}
return ;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
poj1131-Octal Fractions(进制转换)的更多相关文章
- php进制转换函数
1 十进制(decimal system)转换函数 ① 十进制转二进制 string decbin(int number). 参数为一个十进制整型数字,不是整型数字会自动转为整型数字,如'3'转为3 ...
- java高精度进制转换
POJ1131 由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了. 8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以 ...
- Python内置函数进制转换的用法
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...
- python 内置函数 进制转换
4.内置函数 自定义函数 内置函数 len Open id() type() range() 输入输出 print() input() 强制转换 int() float() list() tuple( ...
- Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...
- Oracle 中的进制转换
Oracle 中的进制转换 */--> Oracle 中的进制转换 Table of Contents 1. 进制名 2. 10进制与16进制互相转换 2.1. 10进制转换为16进制 2.2. ...
- python中进制转换
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...
- Bugku-CTF加密篇之进制转换(二进制、八进制、十进制、十六进制,你能分的清吗?)
进制转换 二进制.八进制.十进制.十六进制,你能分的清吗?
- Golang的进制转换实战案例
Golang的进制转换实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用进制概述 1>.进制概述 进制也就是进位制,是人们规定的一种进位方法.举个例子:二进制就 ...
随机推荐
- 混合开发 webview 中file 控件 点击后无反应解决方法
最近在做个项目 ,需要 使用 file 控件上传 图片到服务器 ,在手机浏览器中 可以正常选择照片,但是放到 android 应用中的webview中,file 控件点击后就没有反应. 百度了一番后, ...
- sdcms留言提交
引入这两个js <script src="{webroot}lib/validator/jquery.validator.js"></script>< ...
- VMware中的Ubuntu网络设置
网络配置: VMware安装后会有两个默认网卡,分别是VMnet8(192.168.83.1)和VMnet1(192.168.19.1),当然不同的机器上,这两个网卡的 IP会不同的.在windows ...
- python之路十
协程协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时 ...
- c# 不同窗体之间传值和调用
1.子窗体事件刷新父窗体界面值 子窗体定义委托和事件 //声明一个委托 public delegate void DisplayUpdateDelegate(string str); //声明事件 p ...
- winrt简单克隆对象
public MapPoint Copy()//MapPoint克隆方法 { MapPoint p = new MapPoint();//这是我自定义的对象 //利用反射获得类成员 FieldInfo ...
- 开放封闭原则(Open Closed Principle)
在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)",& ...
- FTP协议及工作原理
1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...
- PullToRefreshListView相关
PullToRefresh使用详解(四)--利用回调函数实现到底加载 链接
- DS28E01芯片解密DS28E01-100单片机解密多少钱?
DS28E01芯片解密DS28E01-100单片机解密多少钱? DS28E01-100将1024位EEPROM与符合ISO/IEC 10118-3安全散列算法(SHA-1)的质询响应安全认证结合在一起 ...