计算机组成原理复习---第3章 信息编码与数据表示

目录

十进制、二进制、八进制、十六进制的相互转换

任意进制数转换为十进制数

十进制数转换为任意进制数

二进制数转换为八进制数和十六进制数

BCD码

符号、英文和中文在计算机中的表达:ASCII码

数值数据的表达:真值;无/有符号数

真值和机器数

无符号数和有符号数的表示

浮点数(阶码、尾数、IEEE754)

 浮点数的表示

浮点数的表示格式


  • 十进制、二进制、八进制、十六进制的相互转换

任意进制数转换为十进制数

将任意进制数的各位数码与它们的权值相乘,再把乘积相加,就得到了一个十进制数。这种方法称为按权展开相加法。

十进制数转换为任意进制数

一个十进制数转换为任意进制数,常采用基数乘除法。这种转换方法对十进制数的整数部分和小数部分将分别处理,对整数部分用除基取余法,对小数部分用乘基取整法,最后将整数部分和小数部分的转换结果拼接起来。

除基取余法(整数部分的转换):整数部分除基取余,最先取得的余数为数的最低位,最后取得的余数为数的最高位(即除基取余,先余为低,后余为高),商为0时结束。 

二进制数转换为八进制数和十六进制数

对于一个二进制混合数(既包含整数部分,也包含小数部分),再转换时应以小数点为界。其整数部分,从小数点开始往左数,将一串二进制数分为3位(8进制)一组或4位(十六进制)一组,在数的最左边可根据需要加 “0” 补齐;对于小数部分,从小数点开始往右数,也将一串二进制数分为3位一组或4位一组,在数的最右边也可根据需要加 “0” 补齐。最终使总的位数位3或4的整数倍,然后分别用对应的八进制或十六进制数取代。

同样,由八进制数或十六进制数转换成二进制数,只需将每位改成3位或4位二进制数即可(必要时去掉整数最高位或小数最低位的0)。八进制数和十六进制数之间的转换也能方便地实现,十六进制转换为八进制数(或八进制数 转换为十六进制数)时,先将十六进制(八进制)数转换为二进制数,然后又二进制数转换为八进制(十六进制)数较为方便。

  • BCD码

二进制编码的十进制数(Binary-Coded Decimal, BCD)通常采用4位二进制数来表示一位十进制数中的0~9这10个数码。这种编码方法使二进制数和十进制数之间的转换得以快速进行。但4位二进制数可以组合出16种代码,因此必有6种状态为冗余状态。

下面列举几种常用的BCD码。

1)8421码(最常用)。它是一种有权码,设其各位的数值为b_{3}b_{2}b_{1}b_{0},则权值从高到低依次为8,4,2,1,它表示的十进制数为 D = 8b_{3} + 4b_{2} + 2b_{1} + 1b_{0}。如8\rightarrow1000;9\rightarrow1001。

若两个8421 码相加之和小于等于(1001)_{2} = (9)_{10},则不需要修正;若相加之和大于等于(1010)_{2} = (10)_{10},,则要加6修正(从1010到1111这6个位无效码,当运算结果落于这个区间时,需要将运算结果加上6),并向高位进位,进位可以在首次相加或修正时产生。

2)余3码。这是一种无权码,是在8421码的基础上加(0011)_{2} 形成的因每个数都多余“3”,因此称为余3码。如8\rightarrow1011;9\rightarrow1100。

3)2421码,这也是一种有权码,权值由高到低分别为2,4,2,1,特点是大于等于5的4位二进制数中最高位为1,小于5的最高位为0。如5\rightarrow1011而非0101。 

  • 符号、英文和中文在计算机中的表达:ASCII码

目前,国际上普遍采用的一种字符系统是 7位二进制编码的 ASCII码(每个字节的最高位保持为 0,可用于传输时的奇偶校验位),它可表示 10 个十进制数码、52 个英文大写字母和小写字母 (A~Z,a~z) 及一定数量的专用符号 (如S、%、+、=等),共128 个字符。

在 ASCII 码中,编码值 0~31 为控制字符,用于通信控制或设备的功能控制:;编码值 127是 DEL码;编码值32是空格 SP;编码值32~126共95 个字符称为可印刷字符。

  • 数值数据的表达:真值;无/有符号数

真值和机器数

在日常生活中,通常用正号、负号来分别表示正数(正号可省略) 和负数,如+15、-8等。这种带“+”或 “-” 符号的数称为真值,真值是机器数所代表的实际值。
在计算机中,通常采用数的符号和数值一起编码的方法来表示数据。常用的有原码、补码和反码表示法。这几种表示法都将数据的符号数字化,通常用 “0” 表示 “正” ,用 “1” 表示 “负” 。如 0,101(这里的逗号 “,” 实际上并不存在,仅为区分符号位与数值位) 表示+5。这种把符号 “数字化” 的数称为机器数

无符号数和有符号数的表示

在计算机中参与运算的机器数有两大类:无符号数和有符号数。

1)无符号数。指整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。若机器字长为8位,则数的表示范围为0 ~ 2^{8} - 1,即0 ~ 255。

2)有符号数。在机器中,数的 “ 正 ” “ 负 ” 号是无法识别的,有符号数用 “ 0 ” 表示 “ 正 ” 号,用 “ 1 ” 表示“ 负 ”号,从而将符号也数值化,并通常约定二进制数的最高位为符号位,即将符号位放在有效数字的前面,组成有符号数。

有符号数的机器表示有原码、补码、反码和移码。为了能正确区别真值和各种机器数,约
定用X表示真值,用[X]_原表示原码,[X]_补表示补码,[X]_反表示反码,[X]_移表示移码。

  • 浮点数(阶码、尾数、IEEE754)

 浮点数的表示

浮点数表示法是指以适当的形式将比例因子表示在数据中,让小数点的位置根据需要而浮动。这样,在位数有限的情况下,既扩大了数的表示范围,又保持了数的有效精度。例如,用定点数表示电子的质量(9 x 10^{-28}g)或太阳的质量(2 x 10^{33}g)是非常不方便的。

浮点数的表示格式

通常,浮点数表示为 N = r^{E} x M,式中,r 是浮点数阶码的底(隐含),与尾数的基数相同,通常r= 2。E和 M都是有符号的定点数,E称为阶码,M称为尾数。可见浮点数由阶码和尾数两部分组成,如图2.12 所示。

 阶码是整数,阶符和阶码的位数 m 共同反映浮点数的表示范围及小数点的实际位置;数符 S 代表浮点数的符号;尾数的位数 n 反映浮点数的精度。


以上复习资料均由作者本人根据所学计算机组成原理课程大纲,参考包健《计算机组成原理与系统结构》和《2022年计算机组成原理考研复习指导》整理而成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋洋得意呀

您的鼓励是我最大的动力,谢谢您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值