运算方法与运算器
数据表示方法
数的机器码表示
原码表示
有符号位和数值位构成,在符号位,0
:表示正,1
:表示负
-10 ----> 10001010B
-0.625 —> 11010000B
补码表示
补码表示实现了加减法统一实现,使用加法实现减法运算。
正数的补码符号位0,数值位本身,负数的补码等于模与该负数绝对值之差,(符号位不变,各位取反,末尾加1)。
反码表示
各位取发,负数反码就是相应的补码减1
移码表示
进行浮点数的加减法时,需要对阶,使得操作过程中,不涉及对阶操作,可以对每个阶都加上一个正的常数,称为偏置常数。
[E]移=偏置常数+E,通常偏置常数去2n-1或2n-1-1
数据格式
在计算机中常用的数据表示格式:定点格式,浮点格式
- 定点数表示
定点数格式:约定机器中的所有数据的小数点的位置是不变的,因此小数点不需要表示。通常将数据表示为纯小数或者纯整数。
符号位放在最左边,0
表示正,1
表示负。
表示小数,小数点在xn和xn-1之间,尾数全为0,绝对值最小,尾数全为1,绝对值最大。范围:
表示正数,小数点位于最右边,即x0右边。表示范围:
- 浮点数表示
与科学计数法类似,任意一个J进制数都可以写成如下形式:
如:
十进制数可以写成 —> N=10E*M
二进制数可以写成 —> N=2E*M
M称为浮点数N的尾数(mantissa);E 为N 的阶码(exponent),是一个整数,J称为比例因子 JE 的基数。这种表示方法相当于数的小数点位置随比例因子的不同而在一定范围内可以自由浮动,所以称为浮点表示法。
在机器中表示浮点数是,底数是事先约定好的(常取2)。在机器中表示一个浮点数时,一是要给出尾数,用定点小数形式表示。尾数部分给出有效数字的位数,因而决定了浮点数的表示精度。二是要给出阶码,用整数形式表示,阶码指明小数点在数据中的位置,因而决定了浮点数的表示范围。浮点数也要有符号位。一个机器浮点数应当由阶码和尾数及其符号位组成。
32为浮点数表示:
64位浮点数表示:
规则化表示
不对浮点数做出规定,同一个浮点数的表示会有很多表示,例如:
(1.75)10可以表示为:
1.11*20 0.111*21 等等
为了提高浮点数的表示精度,当尾数为0时,尾数域的最高有效位为1。
字符与字符串表示
字符采用ASCLL码表示,字符串是连续的字符,通常,他们占用主存中连续的多个字节,每个字节存放一个字符
定点加减法运算
更新中。。。