Hi,你的 Python 学的怎么样了?要记得每天进步一点点哦,跟小帅b做个约定,再过不久我们一起来项目实战,所以现在咱们少看点片,没事敲下键盘,练练 Python 吧。

要是哪一天,我能爬取所有苍井空老师的教育资源就好了。

额..咱们进入正题吧。

1. 二进制

我们都知道,在计算机中,存储的数据都是像这样「010101010110010101...」的东东,这一串数字就是二进制。

想想你家里的灯,是不是只有两种状态,一种是开灯,一种是关灯。

而我们的计算机在表示数据的时候也是按照这样的状态来表示的。也就是一开一关两个状态。

我们把 0 当做关,把 1 当做开!

0有点像把锁,1有点像把钥匙!emmmm..

但是现在想想啊,我们那么多数据,比如说一个 mp3 音乐,一部苍老师的教程视频,如果只让计算机仅仅以 0 和 1 这两种状态来表达这些数据,那是心有余而力不足的。

那么怎么办呢?这时候国际标准化组织就决定了,不够用是吧,那么用 8 个这样的状态来表达一个数据!

也就是:

一个数据 = 01010101 (8个状态)

那么这样的由8个状态组成的数据就叫做字节!

不信的话你可以随便点开的桌面的文件,右键打开属性看看,是不是都会给你显示这个文件的大小都会用字节来表示:

你这小黄图能否图片分享一下?

所以知道以下的东东代表的是什么了吧:

1byte(字节)= 8bit(位,状态)

1kb = 1024byte

1mb = 1024kb

1g = 1024mb

1tb = 1024g

2. 二进制怎么转化成八进制?

我们已经知道了一个字节需要8个二进制位来表示,有点长了,那么用八进制来表示的话就会短一点,比如说有怎么一个字节:

0101101

如果我们想把它变成 八进制 的话,那就从右到左,每三位当做一个,最左边的不够就补0。也就是说上面这个可以这样:

000101101

把每三位的整体转化成十进制的数,就变成八进制了。至于怎么转换,下面会说到。这时候用八进制就只用3个数就可以表示了。

3. 二进制怎么转化成十六进制?

同理,十六进制可以用更少的位数来表示,如果我们想把0101101变成 十六进制 的话,那就从右到左,每四位当做一个,最左边的不够就补0。也就是说上面这个可以这样:

00101101

把每四位的整体转化成十进制的数,就变成十六进制了。至于这么转换,下面也会说到。这时候用十六进制就只用2个数就可以表示了。

4. 不同的进制表达方式

二进制是由 「0,1」 组成,通常以 0b 开头。

八进制是由 「0,1,2,3,4,5,6,7」 组成,以 0 开头。

十进制是由 「0,1,2,3,4,5,6,7,8,9,0」 组成。

十六进制是由 「0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f」 组成,以0x开头的。

5. 进制之间的相互转化

在这里告诉大家一个进制之间快速转化的方法,当然,不是使用计算器啊 - -

首先你只要记住以下对应关系即可:

1 1 1 1 1 1 1 1

128 64 32 16 8 4 2 1

5.1 二进制转化为十进制

那么如果告诉你一个二进制 如 0b11111111,转化成十进制,怎么做呢?把对应的数加起来就可以了。

0b11111111 = 128+64+32+16+8+4+2+1 = 255

看到 255 有没有一种熟悉的感觉?

所以这时候再给你出道题,把 0b010110 转化成十进制你应该会了吧?

0b010110 = 16 + 4 + 2 = 22

5.2 十进制转化为二进制

同样的:

1 1 1 1 1 1 1 1

128 64 32 16 8 4 2 1

我们要把十进制如22,转为二进制就是:

22之内16有没有? 那么在16对应的地方就有1。

1 1 1 1 1 1 1 1

128 64 32 16 8 4 2 1

22-16=6,那么8对应的就不存在了。

1 1 1 1 1 1 1 1

128 64 32 16 8 4 2 1

6之内有4对吧,那么4对应的就有1,6-4=2,那么2也有,2-2=0,所以1就没了。

1 1 1 1 1 1 1 1

128 64 32 16 8 4 2 1

所以最后的答案就是 22 = 0b10110。

5.3 二进制转化为八进制

我们已经知道了在二进制中每三位的十进制代表一个八进制位:

000101101

那么这时候只要把这个二进制拆成三份,每一份转化成十进制,再组合起来就是八进制了。

000 = 0;

101 = 4+1 = 5;

101 = 4+1 = 5;

所以二进制 0b000101101 = 八进制0055。

5.4 二进制转化为十六进制

我们已经知道了在二进制中每四位的十进制代表一个十六进制位:

00101101

那么这时候只要把这个二进制拆成两份,每一份转化成十进制,再组合起来就是十六进制了。

0010 = 2;

1101 = 8+4+1 = D;

所以二进制 0b00101101 = 十六进制0x2D。

ok,以上,其实说实话,如果不懂这个也不影响后面使用 Python 来编程,但是懂的多一些总归没有什么坏处,另外你有没有看到我的排版是不是很良苦用心?请叫我良心b。

关注我,让你像看小黄文一样轻松学到 Python 的所有!

ps:还没获取我精心准备的 Python 电子书和思维导图等干货的可以在我的公众号「学习Python的正确姿势」中发送 python 免费获取哦!

再ps:说真的,如果你能点个赞转发支持我一下我会更有动力写。

推荐阅读:

python中二进制转8进制_Pythoner:教你二进制八进制十六进制的快速转化相关推荐

  1. Python中十进制与其它进制之间的相互转换

    其它进制转换为十进制,使用 int("2/8/16进制",base="2/8/16") 在转换过程中,可以在int("第一个参数", bas ...

  2. python中数字类型以及进制转换

    数字型: 1.int 整数 2.float 浮点 3.complex 复数 bool类型: True == 1 False == 0 二进制: 函数:bin 写法:以0b开头 例如:bin(192) ...

  3. python中的进制转换以及浮点数二进制转换

    为什么要注意这三点: 1.首先是项目中用到的进制转换,常用的int ord hex 以及编写的转换函数,作为记录 2.其次是python 3相对于旧版主要的区别就在这里,主要是bytes 和 stri ...

  4. 小白兔入手:Python进制转换问题(二进制、八进制、十进制、十六进制)

    巩固完C语言和C++的相关算法后,开始学习这个号称简洁.功能强大.无所不能的Python语言,真是稀奇啊!! 这次来总结一下关于进制问题在Python中如何实现的,以及为什么当我就输入input函数时 ...

  5. java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)...

    在java编辑中有没有遇到经常需要进行java中各进制之间的转换(十进制转十六进制.十进制转二进制.二进制转十进制.二进制转十六进制)的事情呢?下面我们就来分析一下各自是怎么转换的: [java] / ...

  6. python进制转换字符串转二进制对象整数转二进制对象16进制字符串转二进制对象(及其逆转换)

    (1)数字进制转换 int() 函数用于将一个字符串或数字转换为整型. x – 字符串或数字. base – 进制数,默认十进制. 如果是带参数base的话,要以字符串的形式进行输入 >> ...

  7. python转换函数使用_python进制转换函数代码的使用

    python进制转换函数代码的使用 发布时间:2020-04-23 10:23:22 来源:亿速云 阅读:188 作者:小新 以上就是python进制转换函数代码的使用的详细内容了,看完之后是否有所收 ...

  8. Python之计算机要点,进制转换,数据间转换(2020.04.01)

    计算机的基本概念 1.1 计算机是什么? 电脑,手机,计算器-他是一种机器 计算机的特点: 1.拥有存储记忆功能 2.数值计算 3.逻辑计算 计算机其实就是一个能够按照程序运行.自动.高速处理数据的现 ...

  9. 计算机一级中的进制,计算机一级课程中介绍的不同进制数转换方法之数学原理.doc...

    本 科 生 毕 业 论 文(设 计) 2011 届 论文(设计)题目: 计算机一级课程中介绍的不同进制数转换 目 录 一.摘要····································· ...

最新文章

  1. FileCoin (1) 初步介绍
  2. 串口、COM口、TTL和RS-232的区别详解
  3. Flume碰到begin()is called when the transaction is open
  4. MVC中根据后台绝对路径读取图片并显示在IMG中
  5. jsf2.0---jsf的新特性
  6. mysql开发必知必会
  7. broker druid 查询_即时查询工具| Druid
  8. 如何用文件对比工具进行文件内容比较
  9. ADB与按键精灵手机助手连接手机调试问题记录
  10. Java项目--网页版音乐播放器(Spring Boot 后端逻辑)
  11. 实用思维训练法让你摆脱固化的平面设计思维
  12. java 时钟_Java的指针时钟
  13. 配置华为防火墙接口IP地址和区域
  14. 光伏电站运维常见故障及处理汇总
  15. 2022-8-03 第七小组 黄均睿 学习日记 (day27)线程2
  16. 统计案例分析之预测社会消费品零售总额
  17. 大曝光:淘宝店卖论文,10年卖100多篇SCI获利300万!
  18. 上传到服务器的网站打开是空白,网站上传服务器,首页打开空白的解决办法|74cms|骑士cms...
  19. openGL控制FPS (每秒传输的帧数)
  20. 一个flash+水印遮挡住产品图的效果

热门文章

  1. 医学会议直播平台有哪些
  2. spring中轻松实现定时任务,quartz表达式的在线Cron表达式生成器推荐
  3. vue页面导出pdf
  4. vue 获取数组索引_Vue - 数组方法
  5. 抖音seo适合哪些人
  6. 569_termux下查看一加7手机的配置信息以及基本系统信息
  7. 关于传统 画家张明弘
  8. ESP8266开发之旅 进阶篇⑤ 代码规范 —— 像写文章一样优美
  9. 【CV】第 3 章:使用 PyTorch 构建深度神经网络
  10. wave数据格式_在关闭之前先从Google Wave导出和备份数据