show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 补码系统在计算机领域通用
- 负数在计算机中自动用补码形式存储
- 也可以直接参与加减计算
- 除了加减之外还有乘除运算
- 乘除是如何进行的呢?🤪
- 下次再说 👋
- 乘法本质上是连加
- 符号是 *
- shift + 8
- 左右操作数都是整数
- 乘法运算的结果也是整型变量
- 这就是整数的乘法
- 有相应的指令么?
- 虚拟机乘法指令
- 加减乘都有啊?
- 仿佛知道下一课内容了
- 我们可以试试随机数的乘法
- 这个东西能否简化一下呢?
- 这样就可以只引入这个 randint 这个函数
- 而无需引入整个 random 这个模块 module
- 还可以再简化么?
- 不但可以引入这个函数
- 还可以给他起一个别名 r
- 这样写起来就更简单了
- 不过要重新进一次游乐场
- 这次确实可以引入 randint 并起一个别名叫做 r
- 但是注意这次系统只认 r 不认 randint
- 想要系统认识randomint 怎么办?
- 不要使用别名
- 直接引用函数
- 就会认识函数名
- 我们这次其实主要研究乘法
- 来看看加减乘除的优先级
- 先乘除后加减
- 有括号的要优先
- 字符串可以和整型数字相乘
- 乘积的类型还是字符串
- 如果两个字符串不能相乘
- 可以把能转化为整型数字的字符串转化了
- 然后再相乘
- 如果你还不死心...
- 字符串要不就没有乘法
- 有乘法只能和整型相乘
"h" \* 3
- 这样可以要 3 个 2 字节的有符号整型变量
- 解码上可以用么呢?
- 这里面也可以用字符串乘法
- 这个乘法翻着跟头往上涨啊
- 根本就不是加法能够想象的
- 超越了我的认知
- 居然是整型
- 而且还能进行运算
- 64bit 位 cpu 最大也就是 q 了
- 果然超了范围了
- 但范围是多少呢?
- 引入 sys 包
- sys 代表 system
- 意思是系统
- 这里可以得到和系统相关的一些内容
- 我们现在用的是 ubuntu 系统
- 查到无符号 8 字节整型数字
- 最大也就是 9223372036854775808
- 在边缘上再加一
- 居然加上去了
- 确实很令人困惑
- 但他真的发生了
- 说明Python对于int型变量做了很好的优化
- 这个以后我们机会细说
- 这次看了乘法 *
- 整数可以乘整数
- 整数可以乘字符串
- 乘法结果很大也不会崩溃
- 有加就有减
- 互为逆运算
- 乘法的逆运算是什么呢?🤪
- 下次再说 👋