计算机中使用的数据可分成两大类:
符号数据:非数字符号的表示(ASC||、汉字、图形等)
数值数据:数字数据的表示方式(定点和浮点)
关于[原码,补码,反码,移码]
原码:符号位+绝对值的二进制。
补码:正数:补码等于原码;负数:除符号位外,各位取反末位加1
反码:正数:反码等于原码;负数:除符号位外,各位取反
移码:补码符号位取反
校验码:
1、奇偶校验码
以奇校验码为例:最高位为校验位,最高位补0或1是校验码中1的个数为奇数。
2、海明校验码
补码加法
补码加法运算基本公式:
- 定点整数:[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补 (mod 2n+12n+1 )
- 定点小数:[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补 (mod 22 )
定点数的运算—加减、乘除
加法器的改进:对一片ALU来说,可有三二个进位输出。其中心称为进位发生输出,P称为进位性输出。在电路中多加这两个进位输出的目的,是为了便于实现多片(组)ALU之间的先行位,为此还需一个配合电路称为先行进位发生器(CLA)。
全加运算的真值表如图所示:
定点运算器的组成
运算器是数据的加工处理部件,是CPU的重要组成部分。尽管各种计算机的运算器结构可能有这样或那样的不同,但是它们的最基本的结构中必须有算术逻辑运算单元、数据缓冲寄存器、通用寄存器、多路转换器和数据总线等逻辑构件。
(1)逻辑运算
计算机中除了进行加、减、乘、除等基本算术运算以外,还可对两个或一个逻辑数进行逻辑运算。所谓逻辑数,是指不带符号的二进制数。利用逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。例如,当利用计算机做过程控制时,我们可以利用逻辑运算对一组输入的开 关量做出判断,以确定哪些开关是闭合的,哪些开关是断开的。总之,在非数值应用的广大领域中,逻辑运算是非常有用的。
计算机中的逻辑运算,主要是指逻辑非、逻辑加、 逻辑乘、逻辑异等四种基本运算。