Skip to content

Latest commit

 

History

History
165 lines (116 loc) · 3.53 KB

File metadata and controls

165 lines (116 loc) · 3.53 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0281
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

二进制(binary)

回忆上次内容

  • bin函数名
    • 意思来源于 binary
    • 二进制
  • bin(n) 可以 把 十进制数字 转化为
    • 2进制字符串形态

图片描述

  • 可以用bin函数
    • 将十进制数转化为二进制数形态

图片描述

  • 2进制数 应该如何
    • 转化回10进制形态 呢?🤔

动手

  • ord("a")
    • 得到 字符a的 序号
      • 97
  • bin(97)
    • 输出 97对应的二进制形式字符串
  • 运行结果
    • 0b1100001

图片描述

  • 0b...怎么理解?

0b

  • 0b的意思
    • 说明这是一个二进制数

图片描述

  • 为什么 2进制
    • 要使用 0b 作为前缀呢?

0b 前缀

  • 0开头
    • 肯定是数字
    • 而不是一个变量名
  • 正常情况下
    • 写数字不会用 0 开头
  • 这保证 0开头
    • 很容易和 一般的 10进制数
    • 区分开

图片描述

  • 编写python的 c语言
    • 0b 开头就表示 2 进制数
  • 0b中的 b 如何理解?

b 的起源

  • 0b 的 b 是取自 binary
    • binary
      • 二进制

图片描述

  • bin函数

    • 可以把 10进制数字 转化为
      • 2进制的 字符串形态
  • 计算机中 如何将2进制数

    • 转化为10进制数 呢?

直接输出

  • 直接输入0b1100001

图片描述

  • 得到 整型(int)的数字97

    • 输出格式 是十进制数字
  • 虽然 计算机内部

    • 用二进制 来存取数字
  • 但是 给我们展示的时候

    • 用的 还是 十进制
  • python

    • 用0开头表示
      • 其他进制形式的数值
  • 那这个 0b1100001

    • 是否就对应着 字符a 呢?

找到对应关系

图片描述

  • 这个 0b1100001
    • 对应着 97
      • 97 对应着 字符a

图片描述

  • 反过来
    • a的序号的二进制形式
      • 是不是 0b1100001 呢?

找到字符二进制形式

  • 先得到"a"字符的序号(ordinal)
    • 再得到序号的二进制(binary)字符串形式

图片描述

  • 使用函数嵌套的形式

图片描述

  • 这和 ASCII 码表一致么?

和 ASCII 表对比

  • 先读1号位
    • 再读2号位

图片描述

  • 验证成功
    • 这充分证明了我们用的确实是 ASCII 表!!!👏👏
  • 废话!😅

总结

  • 数制可以转化
  • 十进制可以转化为二进制

图片描述

  • 二进制也可以转化为十进制

图片描述

  • 二进制形式

    • 有的时候有引号
    • 有的时候 没有引号
  • 为什么 bin(97)

    • 不加双引号 了呢???
  • 要给 97

    • 加一个双引号?!😏
  • 我们下次再说!👋


  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。