当前位置: 首页 >行业聚焦 >

清华阳哥10h期末速成课笔记-P1-数制和码制

来源:哔哩哔哩 2023-08-15 23:48:36

数制和码制的题简单,以填空选择的形式出现,分值在5分左右。


(资料图)

目录:

一.数制

数制中的二进制和十进制

二进制转化为十进制

十进制转化为二进制

数制的补充:十六进制和八进制及其与二进制的转换

二.二进制的计算

加减乘除手工计算

原码,补码,反码

三.码制

8421BCD码&余三码

格雷码

1.数制中的二进制和十进制&2.二进制转化为十进制

数制有10进制和2进制,题型涉及这两个进制相互转换,二进制向十进制转换,利用位权展开列出各级幂级数之和的方式,转换。

3.如何将十进制的数变成二进制:

对于整数部分:“除二取余的方法,倒序取余(先取得的余数是低位)”。这样是在利用幂级数,“商”代表的是幂的系数,43/2,结果表示有21个2,1个1。21个2可以变成10个4,1个2,于是1个2被留下来填在第二位上,只有剩下的才会被填上。填到最后商为0为止。

对于小数部分:“乘二取整,顺序填充。”,取整数部分,不管是还是1,是0表示这个转化成2进制太小,幂指数还得再往下一位;是1我们取整之后,则只对剩下的余数进行处理,反之前面乘过2了,幂指数是继承的,直到取整后余数为0为止,但是最后一位是“1”的十进制小数没有办法完全转化成二进制小数,只能保留固定位数的小数。

4.数制(补充)

三位二进制可以表示一位八进制,数制都可以列出位权展开的式子,八进制的()=7×8+1×1+2×=(1×2×2+1×2+1×1)×(2×2×2)+(0×2×2+0×2+1×1)×1+(0×2×2+1×2+0×1)×××;八进制一位展开成三位是在“单个系数位权展开为3个相加”,“幂底数换成三个2相乘”,“乘法分配律”不改变数值大小。反过来也一样。

四位二进制的数可以表示一位16进制的数,也是同样的道理。

三个2进制位数最大能达到7,符合八进制;四个2进制位数最大能达到15,符合16进制。

16进制10~15用A~F表示。

二.二进制的计算

和十进制相对应,也很好理解

从实际电路的角度出发,用一个异或门就能实现二进制的加法,这是最好实现的,A,B相同的时候是0;A,B不同的时候是1。

而对于乘法,则采用的是移位的方法来实现,10是2的意思,乘以2,向左移动1位,再补零;乘以4,向左移动2位,再补零;以此类推......

对于除法我们同样可以使用移位的方法来实现,只不过变成了向右移位。

对于减法我们的思路是想把减法转换成加法。方法是“补码”。

补码,和补码运算

表示正负的方法为,在数字前方补一个“符号位”,用“0”表示“+”;用“1”表示“-”。

对于一个二进制存在它的“原码”“反码”“补码”,这些码怎么写?

对于正数来说:它的“原码”“反码”“补码”都是这个正数本身;对于负数来说,稍微复杂一点:写出它的“原码”,它的符号位不会变,一直是“1”,“反码”需要将后面的数字变成相反的,“补码”则需要在反码的基础上+1.

三.码制(编码方式)

1.十进制代码:转换成某个码制,采用某个编码方式,不等于将十进制转换成二进制,比如说用“8421BCD码”表示十进制的“64”,需要将“6”和“4”分别用BCD码表示出来,即用4位二进制表示出6和4。

这是十进制代码,如果是二进制代码则为“1000000”,十进制码是直接套用,二进制码是除二取余。

8421BCD码”:用二进制表示出“0~9”的数字。

余三码”:在BCD码的基础上加3,当然还是二进制。

2.格雷码(Gray码):用于相邻的两个最小项相加可以消掉一位,消掉一个变量,更好的服务于我们后面的卡诺图化简。

三位的格雷码:

四位的格雷码:有16个,做一下3位格雷码的镜像对称,前一位补一个1.

比如十进制的“15”的格雷码是“1000”,我们掌握4位的格雷码即可。

相关阅读
大家还在看
热词