show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 数制可以转化
- bin(n)可以把数字转化为
2进制
字符串形态- 意思来源于 binary
- bin(n)可以把数字转化为
- 要特别注意
- type
- 类型
- type
- bin函数
- 报了TypeError
- bin函数要求的 参数
- 是什么类型(type)来着?
- 再查 bin函数的 帮助手册
- help(bin)
- bin函数的参数 要求是
- 是 整数(integer)
- 而不是 字符串(string)
- 不能有双引号
-
要的是
- 整数(int)
-
给的是
- 字符串(str)
- 字符串(str)
不
能 被解释为整数(int)- 所以TypeError了
- 其他函数
也
有 类型的限制 吗?
- 比如
- ord函数
- ord函数 和 bin函数有什么不一样呢?
- 查一下 ord的帮助
- ord的参数 要的是
- 一个单字的
字符串(str)
- 需要有引号的
- 一个单字的
- 如果 偏给他一个整数(int)
- 会如何呢?
- 要的是字符(str)
- 给的是整数(int)
- 又报TypeError了
- 不要害怕报错
- 报错是我们
努力
的见证 - 而不是我们
无能
的见证 - 程序员 要做的就是
- 把
报错
变成
不报错!
- 把
- 报错是我们
- ord("a")得到的是 整数(int)结果
- 把这个结果
- 送到bin函数里面
- 当参数会如何?
- 送到bin函数里面
- 把这个结果
#找到a对应的序号的二进制形式
bin(ord("a"))
- 这就很像
- ord(chr(97))
- chr(ord("a"))
- 括号内的 要
先
进行运算
0b1100001
是二进制数1100001
0b
是 2进制数的 前缀标志
- 可是为什么 2进制 使用
0b
作为前缀?
- 0 的起源
- 0开头
- 肯定是数字
- 而不是一个变量名
- 正常情况下
- 写数字不会用 0 开头
- 这保证 0开头
- 很容易和 一般的 10进制数
- 区分开
- 很容易和 一般的 10进制数
- 0开头
- c 语言
- 0b 开头就表示 2 进制数
- 0b中的 b 如何理解?
-
0b 的 b 是取自 binary
- binary
- 二进制
- binary
-
bin函数
- 可以把 10进制数字 转化为
- 2进制的 字符串形态
- 可以把 10进制数字 转化为
-
如何理解一个二进制数呢?
-
我们先回忆 什么叫十进制数
-
十进制的数字
- 在不同位上
- 代表不同的级别
- 在不同位上
-
(123)10代表
- 十进制的一百二十三
- 也就是
- 一个百
- 两个十
- 三个一
- 也就是
- 十进制的一百二十三
- 个十百千万
- 位置越高
- 数字的权重越大
- 百位上的1 比 个位上的3 大得多
- 1 x 102 比 3 x 100 大得多
- 二进制数 也像 十进制数 一样
- 只不过原来是10n
- 现在是2n
- 计算机中 如何将2进制数
- 转化为10进制数 呢?
- 直接输入0b1100001
-
得到 整型(int)的数字97
- 输出格式 是十进制数字
-
虽然 计算机内部
- 用二进制 来存取数字
-
但是 给我们展示的时候
- 用的 还是 十进制
-
python
- 用0开头表示
- 其他进制形式的数值
- 用0开头表示
-
那这个
0b1100001
- 是否就对应着 字符
a
呢?
- 是否就对应着 字符
- 这个
0b1100001
- 对应着 97
- 97 对应着 字符
a
- 97 对应着 字符
- 对应着 97
- 反过来
- a的序号的二进制形式
- 是不是 0b1100001 呢?
- a的序号的二进制形式
- 先得到"a"字符的序号(ordinal)
- 再得到序号的二进制(binary)字符串形式
- 使用函数嵌套的形式
- 这和 ASCII 码表一致么?
- 先读1号位
- 再读2号位
- 验证成功
- 这充分证明了我们用的确实是 ASCII 表!!!👏👏
- 废话!😅
- 为什么 ord生成的数字
- 默认使用10进制呢?
- 计算机里面用的不都是二进制吗?
- 默认使用 10进制
- 是因为我们 有10根手指
- 那计算机
- 为什么 使用二进制 呢?
- 计算机只有 两根手指
- 就像电路只有
- 通
- 断
- 电灯只有
- 亮
- 灭
- 电路只有
- 高电平
- 低电平
- 所以 只能用二进制
- 可以 把十进制数
- 转化为 二进制字符串形态
- 数制可以转化
- bin(n)可以把数字转化为
2进制
- binary
- 接收 一个整数(int)
- 得到 一个二进制数形式的字符串
- bin(n)可以把数字转化为
- 二进制(binary) 和 二(two)
- 怎么看起来
- 好像 一点关系都没有呢?🤔
- 怎么看起来
- 我们下次再说!👋