首页 > 编程语言 >Python中手动实现进制转换

Python中手动实现进制转换

时间:2024-09-02 10:25:26浏览次数:5  
标签:转换 进制 Python 手动 二进制 所示 次方 如图 十进制

《Python中进制转换》中提到可以使用bin()、oct()、int()和hex()等函数编程实现数字间的进制转换。除了编程实现进制转换外,还可以通过手动实现。

1 手动实现二进制数转换为十进制

可以通过“填空法”手动将二进制数转换为十进制数,例如将二进制数“0b1101”转换为十进制数的方法如图1所示。“填空法”可以归纳为四个步骤:首先“画空格”,接下来“写次方”,然后“填数字”,最后“列算式”。

图1 “填空法”二进制数转换为十进制数

从图1中可以看出,第一步“画空格”,要转换的二进制数“0b1101”有四位,则画四个“空格”,第二步“写次方”,在空格的上方从右向左依次写下“20”、“21”、“22”和“22”,如图1①所示;第三步“填数字”,将要转换的二进制数“0b1101”填入画好的空格内,如图1②;第四步“列算式”,根据图1①②中写好的次方和数字列算式并计算,如图1③所示。

注意1 在“写次方”时,从右向左并且从零次方开始写;

注意2 在“填数字”时,左侧空格是高数位,右侧空格是低数位;

注意3 八进制和十六进制转换十进制时,只需在“写次方”时改为8的次方和16的次方即可。

2 手动实现十进制数转换为二进制

可以使用“填空法”或者“除2法”手动将十进制数转换为二进制。

2.1 “填空法”

“填空法”实现十进制数转换为二进制可以用“1 手动实现二进制数转换为十进制”中提到的“画空格”、“写次方”、“填数字”和“列算式”四步实现,只是在“填数字”和“列算式”两步中略有不同,如图2所示。

图2 “填空法”十进制数转换为二进制数

从图2中可以看到,“画空格”、“写次方”两步与“1 手动实现二进制数转换为十进制”中提到方法相同,只是在“写次方”时,可以将次方数转换为整数,如图2①所示。因为13小于16(2的四次方),因此只需从8(2的三次方)对应的空格开始填写,写入“1”如图2②所示,之后开始“列算式”,如图2③所示,计算剩余值为5。因为5大于4(2的二次方),因此在4(2的二次方)对应的空格上写1,如图2②所示,之后开始“列算式”,如图2④所示,计算剩余值为1。因为1小于2(2的一次方),因此在2(2的一次方)对应的空格上写0,如图2②所示,之后开始“列算式”,如图2⑤所示,计算剩余值为1。最后,在1(2的零次方)对应的空格写1,如图2②所示,最后“列算式”,如图2⑥所示,计算剩余值为0,转换完成。从图2②所示的表格中可以看到,十进制13对应的二进制是“1101”。

注意4 十进制转换八进制和十六进制时,只需在“写次方”时改为8的次方和16的次方即可。

2.2 “除2法”

“除2法”实现十进制数转换为二进制的方法是将十进制数除2,将每次所得的余数组合在一起即为转换后的二进制数,如图3所示。

图3 “除2法”十进制数转换为二进制数

从图3中可以看出,首先,用13÷2商是6,余数是1;接下来用得到的商6÷2,商是3,余数是0;然后用3÷2商是1,余数是1;最后用1÷2商是0,余数是1。最后将余数按照图中所示顺序由高位到低位组合起来,得到“1101”。

注意5 十进制转换八进制和十六进制时,只需除8或者除16即可。

标签:转换,进制,Python,手动,二进制,所示,次方,如图,十进制
From: https://blog.csdn.net/hou09tian/article/details/141813298

相关文章

  • 2025毕业设计选题|基于Python实现地方美食导游平台
    作者主页:编程千纸鹤作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待......
  • 2025毕业设计选题|基于Python实现地方美食导游平台
    作者主页:编程千纸鹤作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与......
  • python django 使用教程
    前言pythondjango使用起来简单方便,大大节省开发时间,提高开发效率,现在介绍下如何使用一、创建Django项目首先,建立虚拟环境,(最好养成一个项目一个环境的习惯,防止多个项目pip包混乱问题),打开pycharm新建Django项目(专业版才可以有这个功能,网上搜一下,一大堆方法,懂得都懂......
  • Python控制流:循环语句(for, while)②
    文章目录前言1.`for`循环1.1遍历列表1.2遍历字符串1.3使用`range()`函数1.4`enumerate()`函数1.5`zip()`函数2.`while`循环2.1基本用法2.2无限循环2.3使用`break`和`continue`语句3.嵌套循环4.常见错误和最佳实践4.1常见错误4.2最佳实践5.......
  • Python知识点:如何使用Python实现图像分类
    使用Python实现图像分类通常涉及使用深度学习库,如TensorFlow或PyTorch。以下是使用TensorFlow和Keras来实现一个简单图像分类模型的步骤。1.安装所需的库首先,确保已安装必要的Python库。使用以下命令安装TensorFlow和其他必需的库:pipinstalltensorflown......
  • 花店鲜花管理与推荐系统+Python+Django网页界面+管理系统+计算机课设
    一、介绍花店鲜花管理与推荐系统。本系统使用Python作为主要开发语言开发的一个花店鲜花管理与推荐的网站平台。网站前端界面采用HTML、CSS、BootStrap等技术搭建界面。后端采用Django框架处理用户的逻辑请求,并将用户的相关行为数据保存在数据库中。通过Ajax技术实现前后端的数......
  • python进阶篇-day03-学生管理系统与深浅拷贝
    day03-学生管理系统-面向对象魔术方法:__dict__将对象的属性和属性值封装为字典用字典的值实例化对象:对象名(**字典)=>拆包student.py"""该文件记录的是:学生类的信息.​学生的属性如下: 姓名,性别,年龄,联系方式,描述信息"""​#1.定义学生类.......
  • Python——造物者type( )、元类与抽象基类
    type()函数在Python中,type()函数是一个非常重要的内置函数,它的前因后果和追根溯源可以从以下几个方面来理解:Python中所有的类本质上也是一个对象,一个从类type实例化的对象。使用type()函数对类进行操作时,会返回type本身,即typeistype。一、定义与基本用途定义:type()函数是P......
  • 【VS Code编写Python】Python 快速入门指南
    1.前言Python扩展使VisualStudioCode成为出色的Python编辑器,可在任何操作系统上运行,并可与各种Python解释器一起使用。首先安装:VS代码Python解释器(任何积极支持的Python版本)VSCode市场上的Python扩展要进一步自定义VSCodeforPython,您可以利用Python......
  • Python纯代码 取组合数结果
    总是在编程题目上碰到取列表中若干元素组合结果的情况,想出过解法但是老是忘,趁现在还记得赶紧写下来 大致思路是:通过迭代遍历每个元素位置,选择可能的位置,用yield生成并返回。 defget_c(list1,num_left=None,list2=None):""":paramlist1:待取组合数列表:......