数字逻辑小结(一)——数制基础
数制
概述
数字系统中的各种信号以数码形式给出
数码包括:数量大小、不同的事物
其中数量大小和数制有关:十进制、二进制、八进制、十六进制等
不同的事物和编码形式有关:ASCII码等
十进制
- 每一位的构成:0~9
- 进位规则:逢十进一
如(209.04)10=2×102+0×101+9×100+0×10-1+4×10-2
各位数的权是10的幂
二进制
- 构成:0、1
- 进位规则:逢二进一
各位数的权是2的幂
八进制
- 构成:0~7
- 进位规则:逢八进一
十六进制
- 构成:0-9、A-F
- 进位规则:逢十六进一
数制转换
二进制转八进制
将二进制数由小数点开始,整数部分向左,小数部分向右,每3位一组,不够三位补零,则每组二进制数就是一位八进制数。“3对1”
八进制转二进制
即将每一位八进制数用3位二进制数表示。“1对3”
二进制转十六进制
同上,每4位分一组,不够4位补零。“4对1”
十六进制转二进制
同上,每一位十六进制数转4位二进制数。“1对4”
十进制转二进制
将整数部分和小数部分分别进行转换,转换后合并。
整数部分除以二取余;后得到的部分为高位。
小数部分乘以二取整;先得到的部分为高位。小数部分在不能精确转换的情况下,可以根据精度要求进行若干次乘以2的运算后结束转换。
小结
- N进制转换为十进制:权值相加法
- 十进制转化为N进制:求余法;转二进制时直接辗转相除取余数,转8、16进制时常常先转二进制后再转其他进制方便计算。
- N(2、8、16)进制之间的转换,每三位或者四位放在一起,借助十进制的权值相加法计算
二进制的算术运算
二进制的算术运算中的加减乘除都可以由移位和相加两种操作来完成,这使得电路结构得到大大简化。
- 加法计算 逢二进一
- 减法计算 借一当二
- 乘法运算 乘数左移、相加
- 除法运算 除数右移、相减
原码、反码和补码
二进制数的正负号也是用0、1来表示:正数为0,负数为1。
当我们按照这个规则时,(1)B=0001,(-1)B=1001,但是它们二进制相加时明显不为0,因为它们采用的是混合编码。
因此我们需要采用补码,即将这个数的二进制取反再加1。
此时(1)B的补码定义为(-1)B=1110+0001=1111。易知此时二进制相加为0。
而反码即简单的将二进制数各位取反。
- 原码:由符号位和数值位组成,正数符号位为0,负数符号位为1.
- 补码:正数的补码原码;负数的补码反码+1
- 补码算原码:减1求反码;求补码的补码。
注意:负数的补码取反时仅取数值位反码,符号位不变。
利用补码实现减法运算
减去某个数可以用加上他的补码来代替。
结果的符号等于两个加数的符号位和来自最高有效数字为的进位三者相加的结果。
注意:使用二进制补码进行加减运算时得到的结果仍为补码,如果结果为正数可以不作处理,如果结果为负数记得取补码的补码得到负数的原码。
另外,将两数写成补码时,数值部分所取位数必须足以表示和的最大值,否则计算结果会出现溢出错误。
BCD码(Binary Code Decimal)
格雷码
ASCII码
小结
本节笔记主要摘录了数字逻辑的概论部分,内容较简单。然后介绍了进制基础和二进制的一些基本运算规则,需要重点掌握。