c++进制转换_一文了解进制之间的原理和转换

b8d4f5f2256e71dd20c14eac0bcdabe3.png

点击这段文字: 获取2020年,最强Python学习资料

进制这块,可以做简单的了解。生活中我们使用的数字都是十进制的,而二进制是机器能够识别的最直接的语言。但是二进制又太大,记录起来非常的不方便。所以通常会将二进制转化为八进制或者十六进制。

日常生活中我们所说的数字 (十进制)在0~9之间,同理 二进制的范围是0~1,八进制的范围0~7,十六进制的范围0~15。那问题来了,当超过9之后,十六进制该如何表示呢?答案是用a~f,表示对应的10~15

进制的表达

在Python中该如何表示每一种进制呢?

  • 默认输入的数字为十进制
  • 以0b开头的数字表示二进制
  • 以0o开头的数字表示八进制
  • 以0x开头的数字表示十六进制
# 普通的十进制
a = 12
print(a) # 12

# 0b表示二进制
b = 0b100100 
print(b) # 36

# 0o表示八进制
c = 0o56
print(c) # 46

# 0x表示十六进制
d = 0x2a1
print(d) # 673

进制之间的转换

1、十进制转二进制

将十进制数除2取余数,直到商为0时。

以12为例,

12 / 2 = 6  余 0 

6  /  2 = 3  余 0

3  /  2 = 1  余 1

1  /  2 = 0  余 1

从上到下取余数,因此,12 对应的 二进制 为  :1100

2、二进制转十进制

把二进阶按权展开,相加即可。如二进制位:1100,按照下面的格式展开

   0    0   1     1

1\*2^0 1\*2^1 1\*2^2 1\*2^3 

0  *  1*2^0 + 0 * 1*2^1 + 1 *  1*2^2  + 1 * 1*2^3 = 12

3、二进制与八进制转换

将2进制从右到左的顺序按照3位拆分,不足时 补0。例如二进制:1100可拆分成

001 100  然后按权展开组合起来即可。

即:

0*2^2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 = 1

1*2^2 +  0 * 2 ^ 1  +  0 * 2 ^ 0  = 4

因此对应的八进制为 14。

4、八进制转二进制

通过对八进制除2取余数,

1的二进制为1 ,不够3位补0,即001

4的二进制为100

因此八进制14转二进制的结果 为:001100

事实上,日常中用到的主要就是二进制和十进制的转换,其他了解一下就可以了。

在Python中,已经讲各种进制的转换进行了封装,直接调用即可。

a = 12
print(bin(a)) # 0b1100   十进制转二进制
print(oct(a)) # 0o14  十进制转八进制
print(hex(a)) # 0xc   十进制转十六进制

# 二进制转十进制
print(int('0b1100', 2))

# 八进制转十进制
print(int('0o14', 8))

# 十六进制转十进制
print(int('0xc', 16))

最后还是希望你们能给我点一波小小的赞或者在看~

如有文章对你有帮助,

“在看”和转发是对我最大的支持

17eea706d5c7c60c3eb7c449137e8343.gif

关注Python极客专栏

3fe588275419220d4286af326a8a7fa1.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用HTML做一个简单的web登录页面,简单的JavaWeb注册登录案例

简单的JavaWeb注册登录案例1.注册页面register.htmlregister姓名:电话:邮箱:qq:2.注册案例实现程序register.java/*** 注册案例实现程序* author lucky**/public class register extends HttpServlet {public void doGet(HttpServ…

一层循环时间复杂度_算法的时间与空间复杂度(一看就懂)

算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢&…

用ajax替换html代码,替换Ajax响应一个div的内部HTML(Replace inner HTML of a div w

我试图一些时间间隔后改变一个div的内部HTML。 我得到我想要使用Ajax正确的反应。 但无法取代内HTML的后,并用Ajax响应地选择。 什么是错我的代码..HTML51 seconds ago58 seconds ago.....10 minute agoĴ查询setInterval(function() {$( ".time" ).each(…

java 审批流_一文读懂工作流

网上关于工作流引擎有比较多的简介,也有很多工作流的实际应用场景。本文结合笔者多年对工作流的经验来阐述一下对工作流的理解。一、什么是工作流?先贴上wiki百科对于工作流的定义工作流(Workflow),是对工作流程及其各…

postgresql 查询序列_时间序列数据库(TSDB)初识与选择

作者:码哥字节 如需转载联系我的公众号背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。以前的系统,做数据可视化,信息管理,流程控制…

concurrenthashmap实现原理_Mybatis:PageHelper分页插件源码及原理剖析

PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美。原本以为分页插件,应该是很简单的,然而PageH…

计算机网络dst,计算机网络基础课程—Socket接口

什么是TCP/IP------本课程的主要部分TCP/IP如何工作-----TCP/IP软件结构与实现如何用TCP/IP-------TCP/IP应用程序编程接口前面说过,TCP/IP标准并不指定应用程序与TCP/IP协议软件的接口,但并不是说没有提供任何指导,首先,它指定了…

python输入圆的半径公式_[图文]铁路曲线正矢的计算公式

一、圆曲线正矢的计算1.1 圆曲线正矢的计算公式取圆曲线上两点拉一直线,叫做弦。弦上任意点至曲线上的垂直距离叫矢或叫矢距。在弦中央点的矢距叫正矢(下图)。AB一弦;AC、CB一半弦;CD一正矢;EF一矢距正矢计算公式为其中: f-正矢 C-弦长 R-半径 式中单位均为m。公式用文字表示即…

docker 安装nacos_康过来!Nacos配置和管理微服务的使用

Nacos 具有如下特性:服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求;动态配置服务:动态配置服务可以让您以中心化、外部化和动态化的方式管…

matlab中如何调用gpu进行并行计算_极致安卓-Termux/Aid learning开启WebGL手机GPU并行计算...

在我的之前的测评中,我利用Termux和Aid Learning测试过基于C/C的openmp并行程序,基于Java的并行程序,还有基于MPI以及基于Java的分布式集群并行。但是很遗憾,一直无法成功开发基于OpenCL的GPU并行编程。这是主要是因为Android并没…

python默认编码方式_关于设置python默认编码方式的问题

2019-8-27 07:45:36 本帖最后由 傻纸 于 2019-8-27 10:02 编辑 查了一会资料得出的结论是如果你用的是python3.x,那么就最好别去设置sys.defaultencoding或者sys.stdout.encoding 记住在需要编码的时候用encode,解码的时候decode就可以了。。。 这个问题…

计算机科学与技术是属于什么学科,计算机科学与技术专业属于什么大类 属于哪个学科...

近日,有很多人咨询小编计算机科学与技术专业属于什么大类 属于哪个学科?现在小编统一回复一下大家计算机科学与技术专业属于工学类,下面是关于计算机科学与技术专业详细的介绍。1计算机科学与技术专业门类及学科介绍专业名称专业代码门类学科…

matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值

本示例说明如何指定imwarp执行几何变换时使用的填充值。执行转换时,输出图像中通常会有一些像素不属于原始输入图像。必须为这些像素分配一些值,称为填充值。默认情况下,imwarp将这些像素设置为零,并显示为黑色。使用FillValues参…

micopython 18b20_MicroPython控制8*8LED点阵显示温度

MicroPython顾名思义就是可以在单片机上跑的Python,借助Micro Python,用户完全可以通过Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡等。目前支持MicroPython的开发板有好几种&#…

ip变更会影响账号登陆吗_【教程】PUBG账号被盗导致封禁申诉解封教程

很多朋友询问PUBG在被盗号后被盗号者开挂导致永封该如何申诉解封,现在结合一些玩家被盗号及成功申诉的经历,详列一下步骤。本方法只适用于被盗后开挂导致封禁的账号,那些自己开挂被封的孤儿不用往下看了。一.先向steam客服申诉 找回自己的ste…

滤镜怎么调_手机、电脑怎么剪辑视频?真心求推荐实用工具

自从加入了短视频自媒体运营这个行业以后,我就开始接触到各种各样的手机、电脑视频剪辑、制作软件,用它们来处理、完成被安排到的工作任务。很多时候,我也用它们来剪视频,借此来练练手、积累下素材。记得刚进入这个行业的时候&…

2021计算机基础知识题库,2021~2021计算机基础知识练习题

2021~2021计算机基础知识练习题 2021~2021计算机基础知识练习题 北京联合大学 2021~2021计算机基础知识练习题 一、选择题 1.记录在存储介质上的一组相关信息的集合称为______。 A)程序 B)磁盘 C)软件 D)文件 2.当一个文件更名后,文件的内容会______。 A)完全消失 B…

计算机背板知识,你知道背板的选购技巧吗?

原标题:你知道背板的选购技巧吗?背板就是母板,子板插在上面构成系统,计算机背板说成背板也成立,只不过背板更多的知识线路板而已,没有实际的器件,只起信号通路作用。背板在设备机箱的后面。一般…

git 切换分支_git 入门教程之分支总览

分支就是一条独立的时间线,既有分支,必有主干,正如一棵树谈到树枝,必有树干一样的道理.我们先前对git 的全部操作默认都是在主干上进行的,这个主干也是一种特殊的分支,名为 master 分支.无论是穿越历史还是撤销更改,我们都或多或少接触过时间线,git 管理的版本串在一起就组成了…

正在锁定计算机 win7转圈圈打不开,Win7网络连接图标一直转圈的原因和解决方法...

Win7网络连接图标一直转圈是什么情况?如果用户发现Win7系统中的网络图标一直处在转圈状态,则表示该网络不能正常加载,且无法识别,笔者通过检查发现网络依赖的服务Network List Service没有自动启动,启动之后可解决该问…