#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. 十进制数转换为二进制数以及浮点数存储方法

    一.十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并. 1. 十进制整数转换为二进制整数 十进制整数转换为二进 ...

  2. 十进制数转换为二进制数 C++

    十进制数转换为二进制数 C++ 前言 一.十进制转换为二进制的数学算法 二.代码实现 1.设计转换函数transfer 2.完整代码 总结 前言 这篇文章和大家分享一下我个人对十进制数转换为二进制数的 ...

  3. 十进制数转换为二进制数

    Description 输入一个十进制整数,将其转换为二进制数,并将转换结果输出. Input 多组测试数据,每组输入一个十进制整数. Output 将十进制数转换为二进制数,输出转换结果. Samp ...

  4. 数制转换,使用按权展开法将二进制数转换为十进制数,使用短除法除2取余计算十进制数转换为二进制数

    1:数制转换 1.1 问题 1)请将下列数字转换为十进制数: (110010011111)2 .(10110101110)2 2)请将下列十进制数转换为二进制: 156.2608.1043 1.2 方 ...

  5. 将一个很长(>30)的十进制数转换为二进制数

    进制转换 题目描述 将一个很长(>30)的十进制数转换为二进制数 输入 若干个很长的十进制数 每行一个 输出 转换为二进制,每行输出一个 样例输入 12345678901234567890123 ...

  6. C++ 将十进制数转换为二进制数方法

    本文介绍一种将十进制数转换为二进制数的方式. 实现要点: (1)用数组来存储每次对2取余的结果. (2)两次使用for循环,分别进行转换和输出. (3)% 取模运算. #include <ios ...

  7. java实现输入一个任意十进制数转换为二进制数

    package com.xingyi.one.firstdemo; import java.util.Scanner; public class FirstDemo {          //将任意一 ...

  8. 用python将十进制数转换成二进制数_python中的数据结构-将十进制数转换为二进制数...

    二进制表示法在计算机科学中很重要,计算机中存储的所有值都以一串二进制数字,即0和1的形式存在. 如果无法在通用表示形式和二进制数字之间来回转换,我们将需要以非常奇怪的方式与计算机进行交互. 十进制的数 ...

  9. c语言程序10进制转2进制,C语言十进制数转换为二进制数

    这是一个C语言 do while 循环示例:统计十进制正整数 n 转换为二进制数后,其二进制序列中包含的 1 和 0 的个数. 问题分析 输入:一个正整数. 输出:两个整数:1 的个数和 0 的个数. ...

最新文章

  1. Google Chrome v48.0.2564.
  2. 大气校正后的ndvi_大气校正常见错误处理方法及校正后检查
  3. mysql5.6允许远程服务器访问数据库
  4. 读caffe源码:gflags的使用
  5. 鸡啄米vc++2010系列15(消息对话框)
  6. 无法打开包括文件: “type_traits”
  7. C++中setw()函数
  8. oracle 密码解锁
  9. Twitter在15岁终于迎来蜕变
  10. 【开发环境】 Ubuntu14.04 安装Skyeye 1.3.5过程
  11. 26丨案例:手把手带你理解TPS趋势分析*
  12. web客户端页面连接MQTT服务
  13. 从keras看VGG16结构图
  14. 网线直连,Synergy低延迟顺滑共享鼠标键盘
  15. 《C语言程序设计》(谭浩强第五版) 第2章 算法——程序的灵魂
  16. C语言求:歌德巴赫猜想
  17. zsore和经验法则(统计学原理)
  18. 【HDOJ】1493 QQpet exploratory park
  19. 深度优先和广度优先区别
  20. 【电商运营】你真的了解社交媒体营销(SMM)吗?

热门文章

  1. Power BI查漏补缺_1
  2. excel的筛选功能失效原因
  3. [精选]大学生实习报告怎么写?
  4. “===”、“==” 的区别
  5. 新时期,老师该怎么撑伞?
  6. linux ioctl root权限,Linux系统调用设备的ioctl函数
  7. Watir vs. SilkTest
  8. Kubernetes Dashboard搭建流程
  9. “范跑跑”被取消从教资格 拟起诉发文单位[转]
  10. 《人物》:计算机世界第一人 - 艾兰·图灵