#Python# 十进制数转换为二进制数(包含小数)
#Python# 十进制数转换为二进制数(包含小数)
- 问题描述
- 问题分析
- 代码
问题描述
编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串。对于转换得到的二进制小数,小数点后最多保留10位。小数点后不足10位,则输出这些位,尾部不补0;小数点后超出10位,则直接舍弃超出部分。十进制转换成二进制时,需要将整数和小数部分分开。整数部分的策略是除2取余,而小数部分的策略是乘2取整,分别转换后再将整数和小数部分合起来。不清楚的同学自己上网查阅相关资料。
本题需要编写2个函数,分别对应整数和小数部分的转换过程。
问题分析
拆分问题为:
(1)整数部分转换为二进制;
(2)小数部分转化为二进制;
(3)将整数部分与小数部分组合并输出。
问题(1):构造函数conInt(),将整数部分除2取余存入列表中,后逆序列表再合并为字符串返回;
问题(2):构造函数conFra(),将小数部分乘2取整存入列表篇中,后合并为字符串返回。需注意的是遇到无限乘2取整的十进制小数时,应舍0入1。
问题(3):使用print(f"{a},{b}")的句式,将字符串组合输出
代码
def conInt(n):s=[]while(n):s.append(str(n%2))n=n//2s.reverse()return "".join(s)def conFra(n):x=[]s=[]while(n):n=n*2x.append(str(int(n)))n=n-int(n)for i in range(0,10):s.append(x[i])return "".join(s)def main():n=eval(input())a=int(n)b=n-aprint(f"{conInt(a)}.{conFra(b)}")main()
#Python# 十进制数转换为二进制数(包含小数)相关推荐
- 十进制数转换为二进制数以及浮点数存储方法
一.十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并. 1. 十进制整数转换为二进制整数 十进制整数转换为二进 ...
- 十进制数转换为二进制数 C++
十进制数转换为二进制数 C++ 前言 一.十进制转换为二进制的数学算法 二.代码实现 1.设计转换函数transfer 2.完整代码 总结 前言 这篇文章和大家分享一下我个人对十进制数转换为二进制数的 ...
- 十进制数转换为二进制数
Description 输入一个十进制整数,将其转换为二进制数,并将转换结果输出. Input 多组测试数据,每组输入一个十进制整数. Output 将十进制数转换为二进制数,输出转换结果. Samp ...
- 数制转换,使用按权展开法将二进制数转换为十进制数,使用短除法除2取余计算十进制数转换为二进制数
1:数制转换 1.1 问题 1)请将下列数字转换为十进制数: (110010011111)2 .(10110101110)2 2)请将下列十进制数转换为二进制: 156.2608.1043 1.2 方 ...
- 将一个很长(>30)的十进制数转换为二进制数
进制转换 题目描述 将一个很长(>30)的十进制数转换为二进制数 输入 若干个很长的十进制数 每行一个 输出 转换为二进制,每行输出一个 样例输入 12345678901234567890123 ...
- C++ 将十进制数转换为二进制数方法
本文介绍一种将十进制数转换为二进制数的方式. 实现要点: (1)用数组来存储每次对2取余的结果. (2)两次使用for循环,分别进行转换和输出. (3)% 取模运算. #include <ios ...
- java实现输入一个任意十进制数转换为二进制数
package com.xingyi.one.firstdemo; import java.util.Scanner; public class FirstDemo { //将任意一 ...
- 用python将十进制数转换成二进制数_python中的数据结构-将十进制数转换为二进制数...
二进制表示法在计算机科学中很重要,计算机中存储的所有值都以一串二进制数字,即0和1的形式存在. 如果无法在通用表示形式和二进制数字之间来回转换,我们将需要以非常奇怪的方式与计算机进行交互. 十进制的数 ...
- c语言程序10进制转2进制,C语言十进制数转换为二进制数
这是一个C语言 do while 循环示例:统计十进制正整数 n 转换为二进制数后,其二进制序列中包含的 1 和 0 的个数. 问题分析 输入:一个正整数. 输出:两个整数:1 的个数和 0 的个数. ...
最新文章
- Google Chrome v48.0.2564.
- 大气校正后的ndvi_大气校正常见错误处理方法及校正后检查
- mysql5.6允许远程服务器访问数据库
- 读caffe源码:gflags的使用
- 鸡啄米vc++2010系列15(消息对话框)
- 无法打开包括文件: “type_traits”
- C++中setw()函数
- oracle 密码解锁
- Twitter在15岁终于迎来蜕变
- 【开发环境】 Ubuntu14.04 安装Skyeye 1.3.5过程
- 26丨案例:手把手带你理解TPS趋势分析*
- web客户端页面连接MQTT服务
- 从keras看VGG16结构图
- 网线直连,Synergy低延迟顺滑共享鼠标键盘
- 《C语言程序设计》(谭浩强第五版) 第2章 算法——程序的灵魂
- C语言求:歌德巴赫猜想
- zsore和经验法则(统计学原理)
- 【HDOJ】1493 QQpet exploratory park
- 深度优先和广度优先区别
- 【电商运营】你真的了解社交媒体营销(SMM)吗?
热门文章
- Power BI查漏补缺_1
- excel的筛选功能失效原因
- [精选]大学生实习报告怎么写?
- “===”、“==” 的区别
- 新时期,老师该怎么撑伞?
- linux ioctl root权限,Linux系统调用设备的ioctl函数
- Watir vs. SilkTest
- Kubernetes Dashboard搭建流程
- “范跑跑”被取消从教资格 拟起诉发文单位[转]
- 《人物》:计算机世界第一人 - 艾兰·图灵