带符号数的编码
如何判断溢出
一.判断溢出的两种方法:
1.利用运算时符号位的进位和数值最高位的进位进行比较,若进位相同则没有溢出,否则,溢出
2.采用双符号位判断溢出,若双符号位(00/11)则没有溢出,若01,则负溢出,若10则正溢出
(上溢出时,若为正数则称正溢,为负数则称负溢)
上溢时计算机无法继续工作,弹出提示信息
二.计算机是如何实现判断进位是否相同的?
采用“异或门”进行实现,Cf^C=0, 则未溢出,Cf^C=1,则溢出(其中Cf/Cn代表符号位的进位,C/Cn-1代表数值最高位的进位)
知识补充:异或运算——1^1=0 0^0=0 1^0 =1 0^1=1;即参与异或运算的两个数字若相同则结果为0,若不同,则结果为1
取巧判断是否溢出的方法,算出补码范围,将要判断的数转为十进制进行判断,若超出范围则发生溢出,这种方法只适用于一些特殊情况,但判断起来较为简单
三.加减运算时在什么样的符号条件下一定不溢出,什么情况可能溢出?
同号相加 异号相减 —— 可能溢出
同号相减 异号相加 —— 一定不溢出
移位运算
算术移位——有符号数的移位,主要用于乘除运算
原码移位——符号位不变,数值位左移或右移;左移,数值最高位移除,末位补0(高位为1时,左移数据丢失,高位出错);右移,低位移出,高位补0(末位为1,右移,精度损失)
补码移位——符号位参加移位,左移,符号位移除,末位补0,最高位移到符号位(符号位被修改);右移,末位移出,高位用符号位补齐,符号位不变(丢失精度)
逻辑移位——所有数位都参加移位,可用于实现数的串行和并行直接的转换功能(为什么可以实现该转化功能)
逻辑左移或逻辑右移:左移:高位移出,末位补0 ;右移:低位移出,高位补0
循环左移或循环右移:左移:高位移出,补到末位;右移:低位移出,补到高位
原码与反码
补码与移码的表示范围
移码是一种专门用于表示整数的机器码,所以你说,定点小数有移码码?
数字逻辑基础
组合逻辑电路
译码器:将一组给定的输入代码翻译成对应输出信号的电路,如二进制译码器,显示译码器,码制变换译码器
二进制译码器
应用
存储单元的地址译码
指令译码
数据分配
在控制信号的作用下,依控制信号组合不同从通道选出
以74LS138为例
E3代表接地,表示低电平,E3=0 E1=1,E2为待分配数据,若E2=0,则进行译码