数电(1):数制和码制
一、进制互转
1、二进制和十进制互转
(1)二 - 十:2的n次方
(2)十 - 二(整数):除2取余,从下到上。
(3)十 - 二(小数):乘2取整,从上到下。
2、二进制和十六进制互转
(1)二 - 十六:4个1位
(2)十六 - 二:1位4个
3、二进制和八进制互转
(1)二 - 八:3个1位
(2)八 - 二:1个3位
二、原码反码补码
1、概念
- 原码:新增最高位为符号位,0正1负,其余位不变。
- 反码:符号位不变,其余位为原码取反。
- 补码:符号位不变,其余位为反码加一。
2、有符号数加减运算
- (1)先扩位,结果位 = max(a,b)+ 1;
- (2)符号位写两遍,数字为变补码;
- (3)结果值超过的进位舍去;
3、有符号数乘除法运算
- (1)先扩位,结果位 = a + b + 1;
- (2)符号位相与放到最高位;
- (3)数字位进行乘除运算;
a[3:0] + b[3:0] = {a[3] & b[3], a[2:0] * b[2:0]} = c[6:0](位数为3+3+1=7)
三、常见编码
1、十进制代码
2、格雷码(循环码)
什么是格雷码?
在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。格雷码(Gray Code)又称Grey Code、葛莱码、格莱码、戈莱码、循环码、反射二进制码、最小差错码等。
为什么要使用格雷码?
格雷码是一种具有反射特性和循环特性的单步自补码,其循环和单步特性消除了随机取数时出现重大错误的可能,其反射和自补特性使得对其进行求反操作也非常方便。格雷码属于一种可靠性编码,它在相邻间转换时,只有一位产生变化,它大大减少了一个状态到另一个状态时逻辑的混淆,因此格雷码在通信和测量技术中得到广泛应用。
格雷码有哪些特点?
(1)格雷码具有反射特性;
(2)格雷码具有循环特性;
(3)格雷码是一种准权码;
(4)格雷码相邻的码组间仅有一位不同;
(5)格雷码从编码形式上杜绝了逻辑冒险的发生;
(6)卡诺图是按格雷码来画的;
(7)格雷码不是一种二进制;(易错)
格雷码和独热码的区别
独热编码占用较多的位,也就是消耗较多的触发器,但这些额外触发器占用的面积可与译码电路省下来的面积相抵消。
二进制转格雷码
Gray = (bin>>1) ^ bin;(右移一位后和自身异或)
3、ASCII码
略
4、独热码
下次再写
参考资料:阎石. 数字电子技术基础(第5版)[M]. 高等教育出版社, 2006.