show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次 回顾了 编码过程
- encoding
位数 | 名称 |
---|---|
1-bit | 两仪 |
2-bit | 四象 |
3-bit | 八卦 |
- 3-bit的二进制数 可以进行 加减运算
- 可以计算出-1对应 (111)2进制
- 如何理解这 (111)2进制所代表的 -1 呢?
- 在前面放一个 -
- 当做负号
- 负号是
- 一元运算符
- unary operation
-
放两个负号
- 负负为正
-
正数和负数除了符号之外
- 还有一个重要的特征
- 是什么呢?
- 绝对值
- absolute value
- 一个数在数轴上所对应点
- 到原点的距离
- 如果 两个数
- 绝对值相等
- 方向相反
- 他们互为相反数
- 比如 ±1
- 怎么理解相反数呢?
- 我们可以看到
- 负数和对应的正数加起来为 0
- 仿佛是以零为中心的
- 两边加在一起
- 就会刚好爆表
- 1-byte (字节)
- 总共 8-bit(位)
- 简化一点
- 还是用 3-bit 来思考
- 总共 3-bit
- 最小值(000)2进制 为 0
- 最大值(111)2进制 为 7
- 这种方式 是
无符号
的 存储方式
- 总共 8 个数字
- 把他绕成一圈
计算
- 第一种 就是 按顺时针 理解 加法
- 先 2 格再 3 格
- 总共就是 5 格
- 对应 (101)2进制
- 第二种 是
- 二进制 加法计算
- 加法就是顺时针
- 先 3 格再 4 格
- 总共就是 7 格
- 对应 (111)2进制
- 但是超过一圈
- 怎么算呢?
- 加法就是顺时针
- 先 4 格再 5 格
- 总共就 9 格
- 数字盘上 没有9格
- 只有7格
- 溢出了
- 绕了一圈
- 回到原地 又 多1格
- 对应 (001)2进制
- 超越了一周之后
- 会产生溢出
- Overflow
- 因为操场多跑一圈还是在原地
- 不会对位置产生影响
- 400 米一圈
- 你跑 100 米
- 和你跑 500 米
- 位置是一样的
- 那减法 应该如何理解 呢?
- 这次了解了二进制的
- 加法 和 进位
- 减法 和 借位
- 由于 数字存储 受到 字节大小限制
- 如果数字超过了 字节存储的限制
- 就会产生溢出
- overflow
- 减法 是怎么运算的
- 负数 又是 怎么表示的呢?🤪
- 下次再说 👋