Skip to content

Latest commit

 

History

History
158 lines (108 loc) · 3.48 KB

271-814923-二进制_binary_bin函数.sy.md

File metadata and controls

158 lines (108 loc) · 3.48 KB
show version enable_checker
step
1.0
true

二进制(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

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