计算机组成复习--计算机系统中的数据表示

2019-04-14 08:26发布

对于某一确定的模,某数减去小于模的另一个数,总可以用该数加上模与另一个数绝对值之差来代替。(这就是为什么可以用补码进行加减运算的原因)   原码(true form)原码体现了数据的绝对值 定点小数的原码定义如下:   【x】原 =  if 0<=x<1, x                  if -1补码 定点小数的补码定义如下:   【x】补= if 0<=x<1, x                    if -1<=x<0, 2+x                 (模2) 定点整数的补码定义如下:   【x】补 = if 0<=x<2^(n-1), x                   if -2^(n-1)<=x<0, 2^(n)+x                (模2^n)   正数的补码与其原码相同,负数补码求解的一个简便方式:符号位不变,数值部分自低向高位搜索,第一个1及其以右的各位0保持不变,以左的各位按位取反。 补码的符号位扩展: 结论1:要将n位纯小数补码变为2n位,只需在末尾添加n个0即可。 结论2:要将整数补码的模扩大2^n倍,只需将符号位向左复制n位即可。 补码的算术右移(除2运算) 结论:若已知【x】补求【0.5x】补,可将【x】补连同符号位在内右移1位,同时符号位保持不变。 补码的算术左移(乘2运算) 结论:已知【x】补求【2x】补,只需要将【x】补的各位左移1位,末位补0.   反码 定点小数的反码如下: 【x】反 = if 0<=x<1, x                  if -1移码 由于浮点数的阶码使用移码,所以只介绍定点整数的移码 【x】移 = 2^(n-1)+x 原码和反码的表示范围相同,补码的移码的表示范围相同。 【x】移----》符号取反《---【x】补   浮点数 因为无论采用定点,还是浮点表示,n位编码总是最多只能表示2^n个数,所以采用浮点表示法虽然扩大了表示范围,但没有增加可表示的数值的个数,只是数据间的间隔主稀疏了。 浮点数的表示范围主要由阶码决定,精度则由尾数决定。为了尽可能多地保留有效数字的位数,使有效数字尽量占满尾数数位,通常采用浮点数规格化形式,即将尾数的绝对值限定在某个范围内。 如果阶码的底为2,则规格化浮点数的尾数应满足:1/2<=|M|<1 M>=0,M=0.1xxxx...x                  M<0, M= 1.0xxx...x 尾数采用补码表示。为了使计算机判断方便,一般不把【-1/2】补(1.1000.000)列为规格化的数,而把【-1】补(1.000.000)列为规格化的数。   最后欢迎大家访问我的个人网站: 1024s