徐福培计算机组成原理[第2章]
第2章 数据的表示 ;本章讨论在计算机内部各类基本数据的表示方法及其相互间的等值转换。 ;信息是对人有用的数据,这些数据可能影响到人们的行为和决策。 ;图 2.1 计算机外部信息与内部数据的转换 ;2.2 数字化信息编码 ;2.3 数值数据的编码表示 ;在计算机系统中,常用的几种进位计数制有下列几种:二进制 R=2, 基本符号为 0和1八进制 R=8, 基本符号为 0,1,2,3,4,5,6,7十六进制 R=16, 基本符号为 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F 十进制 R=10, 基本符号为 0,1,2,3,4,5,6,7,8,9; 1.R进制数转换成十进制数 ;2. 十进制数转换成R进制数 ;(835) 10=(1101000011) 2 ;(2)小数部分的转换 ;整数部分;(3)含整数、小数部分的数的转换 ;(2)十六进制数转换成二进制数 ;2.3.2 定点与浮点表示 ;利用定点表示进行计算,须将所有数据之值按一定比例予以缩小(或放大)???送入计算机,同时须将计算结果以同一比例增大(或缩小)后才能得正确结果值。;对于任意一个二进制数X,可以表示成如下形式: X= ± M×RE 其中:M为尾数,常用定点纯小数表示;E为阶,一般用定点整数表示;R为基数,隐含为2,也可以为2q,q可取2,3,4等正整数。;浮点表示法的最大特点是它可以表示很大的数据范围以及较高的数据精度。;机器数X的真值为:XT = ±X1′Xn–2′…X1′X0′ (当X为定点整数时)XT = ±0 . X–1′X– 2′…X–(n –1)′X – n′ (当X为定点小数时) 数字化编码后的机器数X表示为: X = Xn X n -1 X n -2 …X 1 X 0 ;1.原码表示法 ;定点整数:;2.补码表示法 ;;例1.“钟表”模运算系统10-4≡10+(12-4) ≡10+8≡6 (mod 12); x 当2n-1[x]补= 2n+x 当 -2n-1;例.设补码的位数为6,求负数-0.10110 的补码表示。 [-0.10110]补=2-0.10110 =10.00000-0.10110 =1.01010 ;求一个补码“取负”后的补码表示方法:“只要对该已知补码各位取反,末尾加1即可。” ;例4.设[x]补=1.0101000,则;(3)变形补码 ;3. 反码表示法 ;对反码而言,模数不是2而是(2-2– (n-1) ) ,这意味着若运算中如果最高位有进位,就必须把它加到末位上去。这叫“循环进位”。 ;4.三种编码的比较 ;(3) 补码和反码的符号位可作为数值的一部分看待,可以和数值位一起参加运算。而原码的符号位必须和代表绝对值的数值位分开处理。 ;各种编码的数值部分的移位规则如下:① 原码 左移:高位移出,末位补0。移出非零时, 发生溢出。 右移:高位补0,低位移出。移出时进行舍入操作。② 补码 左移:高位移出,末位补0。移出的位不同于符号位时 ,发生溢出。 右移:高位补符,低位移出。移出时进行舍入操作。③ 反码 左移:高位移出,末位补符。移出的位不同于符号位 时,发生溢出。 右移:高位补符,低位移出。移出时进行舍入操作。 ;(6) 各种编码采用不同的方法进行填充处理: ;2.3.4 无符号数的表示 ;2.3.5 浮点数的编码表示 ;移码的定义如下: 设E为阶,所取移码位数为n,则: [E]移=2n-1+E (2n-1为偏置常数) ;为了在浮点数运算过程中,尽可能多地保留有效数字的位数,使有效数字尽量占满尾数数位,必须在运算过程中经常对浮点数进行“规格化”操作。 ;当浮点运算结果的尾数出现01.xx...x或10.xx...x的形式时,并不一定溢出,应先将它右移1位,阶码加1,然后再判断阶是否溢出,这个过程称为“右规”。 ;∵ (65798)10 = (10106)16= (0.101060)16x165∴ 数符S=0, 阶码E=(64+5)10=(69)10 =(1000101)2 浮点数形式表示为: