第2章计算机中的数据表示

合集下载

计算机导论 课后习题参考答案(第2章-数据的表示)

计算机导论   课后习题参考答案(第2章-数据的表示)

第2章数据的表示一、复习题1.给出计算机能处理的五种数据形式。

答:文本、数字、图像、音频、视频。

2.计算机如何处理所有的数据类型?答:采用统一的数据表示法(位模式)。

3.何为位模式?答:位是存储在计算机中的最小数据单位,它是 0 或 1。

位模式是一个由若干个位构成的序列,也被称为位流。

4.ASCII码与扩展ASCII码之间的区别是什么?答:ASCII码采用7位位模式,范围从0000000到 1111111。

扩展ASCII通过在ASCII码左边增加额外的0进行扩充,范围从00000000 t到 01111111。

扩展ASCII码中,每个位模式恰好占用一个字节存储空间。

6.位模式的长度与位模式所能表示符号的数量之间有何关系?答:位模式长度与位模式所能表示符号的数量之间满足对数关系。

即:符号数量=2长度7.位图图形表示法是如何以位模式来表示图像的?答:图像被分成像素矩阵, 每个像素是一个小点。

用位模式来表示每一个像素的颜色。

8.矢量图表示法与位图图形表示法相比有哪些优点?答:(1)矢量图可任意放大缩小,即缩放不变形。

(2)图象存储数据量小。

9.音频数据转换成位模式的步骤有哪些?答:采样,量化,编码,存储。

10.图像数据和视频数据有何关系。

答:视频是图像(帧)在时间上的表示。

多个帧按时间逐帧播放便形成动态图像。

存储视频的本质,就是逐帧存储每一个帧的图像。

二、选择题11~15 D、D、C、C、D 16~20 B、D、A、C、D21~25 D、B、D、C、A26~28 B、A、D三、练习题29.给定5个位,那么可以有多少种不同的5位模式表示形式?答:25=32(种)30.在一些国家,车牌号由两位十进制数字(0到9)组成,那么可以表示多少不同的车牌号?如果车牌号中不允许有0,则又可以表示多少不同的车牌号码?答:以表示的车牌号:10×10=100若车牌号中不允许有0,则可以的车牌号码:9×9=8131.重做30题,若在两位十进制数字的基础上增加三位,每位取值于大写的英文字母(A到Z)。

数字逻辑与计算机组成原理:第二章 数据的表示与运算

数字逻辑与计算机组成原理:第二章  数据的表示与运算
数字逻辑与计算机组成原理
第二章 数据的表示与运算
第一节 数的表示
一、无符号数和有符号数
1、无符号数:
没有符号的数,寄存器中的每一位都可用 来存放数据
机器字长为n位,无符号数的表示范围 为0~2n-1
反映无符号数的表示范围
8位 16 位
0 ~ 255 0 ~ 65535
有两种常用的无符号表示法: ◆ 非负数码:表示0或一个正数
(1) 定义
整数
0,x
2n > x ≥ 0
[x]反 = ( 2n+1 – 1) + x 0 ≥ x > 2n(mod 2n+1 1)
x 为真值
n 为整数的位数
如 x = +1101
x = 1101
[x]反 = 0,1101
[x]反 = (24+1 1) 1101 = 11111 1101
用 逗号 将符号位
= 1,0010
和数值部分隔开
小数 x
[x]反 = ( 2 – 2-n) + x
1>x≥ 0 0 ≥ x > 1(mod 2 2-n)
x 为真值 n 为小数的位数
如 x = + 0.1101
x = 0.1010
[x]反 = 0.1101
[x]反 = (2 2-4) 0.1010
= 1.1111 0.1010
有符号小数: +0.1011,在机器中表示为
-0.1011,在机器中表示为
第一节 数的表示
一、无符号数和有符号数 2、有符号数
有符号整数: +1101,机器中表示为
-1101, 机器中表示为
第一节 数的表示
一、无符号数和有符号数

计算机组成原理第二章数据的表示和运算

计算机组成原理第二章数据的表示和运算

计算机组成原理第⼆章数据的表⽰和运算第⼆章数据的表⽰和运算数制与编码进制转换使⽤⼆进制的原因⼆进制与⼋进制、⼗六进制的转换各种进制的书写⽅式⼗进制转换为任意进制整数部分⼗进制转换⼆进制如(75)10752=37……1 K372=18……1 K1182=9……0 K292=4……1 K342=2……0 K422=1……0 K512=0……1 K6K0K1K2K3K4K5K6=1101001⼩数部分⼗进制转换⼆进制如(75.3)10⼩数部分=0.30.3∗2=0.6=0+0.6 K−10.6∗2=1.2=1+0.2 K−20.2∗2=0.4=0+0.4 K−30.4∗2=0.8=0+0.8 K−40.8∗2=1.6=1+0.6 K−5……0.3D=0.01001……B⼩数⽆法准确表述⼗进制转换⼆进制(拼凑法)总结Processing math: 52%BCD码(Binary-Coded Decimal)修正数据(9+9)10(9)10→(1001)2(9+9)2=100110011001+1001−−−−1001010010超出了8421码中的1010−1111+(6)10⇔+(0110)2修正10010+0110−−−−11000相加结果在合法范围(1010~1111)内,不需要修正其他编码总结字符与字符串ASCII码可印刷字符:32~126其余为控制、通信字符⼤写字母:65(0100 0001)~ 90(0101 1010)⼩写字母:97(0110 0001)~ 122(0111 1010)汉字的表⽰和编码输⼊:输⼊编码输出:汉字字形码字符串⼤端模式&⼩端模式总结奇偶校验码校验原理当d=1时,⽆检错能⼒;当d=2时,有检错能⼒;当d≥3时,若设计合理,可能具有检错纠错能⼒(海明码)奇偶校验码例题奇校验:(1)1001101 (0)1010111偶校验:(0)1001101 (1)1010111只能发现数据代码中奇数位的出错情况,但不能纠错总结海明码简单思路求解步骤总结循环冗余校验码基本思想校验步骤(模⼆除)G(x)=x3+x2+1=1∗x3+1∗x2+0∗x1+1∗x0→1101110101−−−−−−−−−−−−−−−−−−−1101 |101001000110111101101−−−−−−−−−−−−−−−−−−−01110000−−−−−−−−−−−−−−−−−−−11101101−−−−−−−−−−−−−−−−−−−01100000−−−−−−−−−−−−−−−−−−−11001101−−−−−−−−−−−−−−−−−−−001→校验位对应的CRC码为101001 001s余数为001、010时并不能确定是哪⼀位出错了此时是信息位过多,降低信息位就可以解决问题K个信息位,R个校验位,若⽣成多项式选择得当,且2R≥K+R+1,则CRC码可纠正1位错总结定点数的表⽰⽆符号数通常只有⽆符号整数,⽽没有⽆符号⼩数1001100B=1∗27+1∗26+0∗25+0∗24+1∗23+1∗22+0∗21+0∗20=156D有符号数的定点表⽰原码⽤尾数表⽰真值部分的绝对值,符号位“0/1”对应“正/负”若机器字长为n+1位,则尾数占n位反码若符号位为0,则反码与原码相同若符号位为1,则数值位全部取反反码是原码转变为补码的⼀个中间状态补码正数的补码=原码负数的补码=反码末位+1(要考虑进位)设机器字长为8位[+0]原=0000 0000[+0]反=0000 0000[+0]补=0000 0000[−0]原=1000 0000[−0]反=1111 1111[−0]补=1 0000 0000由于机器字长为8位,进位丢弃[−0]补=0000 0000逆向将负数补码转回原码的⽅法相同:尾数取反,末尾+1[−19]原=1001 0011[−19]反=1110 1100[−19]补=1110 1101[−19]原=1001 0010+0000 0001=1001 0011移码补码的基础上将符号位取反移码只能⽤于表⽰整数⼏种码表⽰定点整数练习假设机器字长为8位定点整数x=50[+50]原=0011 0010[+50]反=0011 0010[+50]补=0011 0010[+50]移=1011 0010定点整数x=−100[−100]原=1110 0100[−100]反=1001 1011[−100]补=1001 1100[−100]移=0001 1110知识回顾各种码的作⽤⽤加法代替减法表盘为例10+9=1919%12=7相当于求余数模运算的性质可以说在模12的情况下上述数字等价其中-3和9互为补数,⼆者绝对值之和等于模\begin{align} 有符号数&~~~~~~~~~~~~~~~~~~~⽆符号数\\ 14~~~~~~&0000~1110~~~~~~~~14\\ -14~~~+&1000~1110~~~~~~142\\ -----&-----------\\0~~~~~~&1001~1100~~~~~~156\\ &模-a的绝对值=a的补数\\ &0000~1110\\ -&0000~1110\\ -----&-----------\\ &0000~0000\\ &\\ &模2^8-0000~1110\\ &1~0000~0000\\ -&~~~0000~1110\\ -----&-----------\\ &~~~1111~0010\\ -----&-----------\\ &~~~0000~1110\\ +&~~~1111~0010\\ -----&-----------\\ &~1~0000~0000\\ \end{align}\begin{align} &求-66的补码\\ &[-66]_{原}=1100~0010\\ &[-66]_{反}=1011~1101\\ &[-66]_{补}=1011~1110\\ &[+88]_{原}=0101~1000\\ &1101~1000\\ +&0011~1110\\ --&-----------------\\ 1~&0001~0110~~~~~~22D\\ \end{align}移位运算算术移位原码的算术移位\begin{align} &[+20]_{原}=0001~0100\\ &{左移⼀位}=0010~1000=+40D\\ \end{align}反码的算数移位补码的算数移位\begin{align} &[-20]_{原}=1001~0100\\ &[-20]_{反}=1110~1011\\ &[-20]_{补}=1110~1100\\ &左移⼀位=1010~1000\\ &[-20]_{原}=1001~0100\\ &[-20]_{反}=1110~1011\\ &[-20]_{补}=1110~1100\\ &右移⼀位=1111~0110\\ \end{align}逻辑移位(针对⽆符号数)应⽤举例循环移位总结加减运算原码的加减运算补码的加减运算\begin{align} &A=15,B=-24,C=124,求[A+C]_{补}[B-C]_{补}\\ &[A]_{原}=0000~1111\\ &[A]_{反}=0000~1111\\ &[A]_{补}=0000~1111\\ &[B]_{原}=1001~1000\\ &[B]_{反}=1110~0111\\ & [B]_{补}=1110~1000\\ &[C]_{原}=0111~1100\\ &[C]_{反}=0111~1100\\ &[C]_{补}=0111~1100\\ &[A+C]_{补}\\ &0000~1111\\ +&0111~1100\\ ----&------------\\ &1000~1011\\&1111~0100\\ &1111~0101~~~~~~-117D\\ &[B-C]_{补}\\ 1&~0000~0000\\ -&~0111~1100\\ ----&-------------\\ &~1000~0100\\ +&~1110~1000\\ ----&-------------\\ &~0110~1100\\&~0110~1100\\ &~0110~1100~~~~~~+108D\\ \end{align}出现了溢出溢出判断⼀位符号逻辑表达式进位判断双符号位符号扩展整数⼩数总结乘法运算⼿算乘法(⼗进制)⼿算乘法(⼆进制)原码⼀位乘法实现⽅法:先加法再移位,重复n次(0)乘法进⾏前ACC置0(1)第⼀步加法加法移位(2)第⼆步加法加法移位(3)第三步加法加法移位(4)第四步加法加法移位乘法结果修正符号位原码⼀位乘法(⼿算模拟)\begin{align} &⾼位部分积~~~~ ~~~~低位部分积~~~~ ~~~~ ~~~~说明\\ &~~00.0000~~~~ ~~~~ ~~~~ ~~~~ 101\underline{1}|~~~~ ~~~~ 低位=1~~~~ +|x|\\ +|x|&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~|\\ ----&---------------------\\ &~~00.1101\\ 右移&~~00.0110~~~~ ~~~~ ~~~~ ~~~~ 110\underline{1}|1~~~~ ~~~ 低位=1~~~~ +|x|\\ +|x|&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~|\\ ----&---------------------\\ &~~01.0011\\ 右移&~~00.1001~~~~ ~~~~ ~~~~ ~~~~ 111\underline{0}|11~~ ~~~低位=0~~~~ +0 \\ +&~~00.0000\\ ----&---------------------\\&~~00.1001\\ 右移&~~00.0100~~~~ ~~~~ ~~~~ ~~~~ 111\underline{1}|011 ~~~低位=1~~~~ +|x| \\ +|x|&~~00.1101\\ ----&---------------------\\ &~~01.0001\\ 右移&~~00.1000~~~~ ~~~~ ~~~~ ~~~~ 111\underline{1}|1011 ~右移部分积和乘数全部移出 \\ &|x|=00.10001111\\ &x*y=-0.10001111\\ \end{align}补码的⼀位乘法辅助位⼿算模拟\begin{align} &⾼位部分积~~~~ ~~~~低位部分积~~~~ ~~~~ ~~~~说明\\ &~~00.0000~~~~ ~~~~ ~~~~ 0.101\underline{1}|0~~~~ ~~~~ ~~~~起始情况\\ +[-x]_补&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Y_4Y_5=10,Y_5-Y_4=-1,+[-x]_{补}\\ ----&-----------------------------\\ &~~00.1101\\ 右移&~~00.0110~~~~ ~~~~ ~~~~10.10\underline{1}|10~~~~ ~~~~ ~~~~右移部分积和乘数\\ +0&~~00.0000~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Y_4Y_5=10,Y_5-Y_4=0,+0\\ ----&-----------------------------\\ &~~00.0110\\ 右移&~~00.0011~~~~ ~~~~ ~~~~ 010.1\underline{0}|110~~~~ ~~~~ ~~~~右移部分积和乘数\\ +[x]_补&~~11.0011~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~~~~~ ~~~~ Y_4Y_5=01,Y_5-Y_4=1,+[x]_补\\ ----&-----------------------------\\ &~~11.0110\\ 右移&~~11.1011~~~~ ~~~~ ~~~~ 0010.\underline{1}|0110~~~~ ~~~~ ~~~~右移部分积和乘数\\ +[-x]_补&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Y_4Y_5=10,Y_5-Y_4=-1,+[-x]_补\\ ----&-----------------------------\\ &~~00.1000\\ 右移&~~00.0100~~~~~~~~ ~~~~ \underline{\underline{0001}}\underline{0}.|10110~~~~ ~~~~ ~~~~右移部分积和乘数\\ +[x]_补&~~11.0011~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~Y_4Y_5=01,Y_5-Y_4=1,+[x]_补\\ ----&-----------------------------\\ &~~11.0111\\ &[x*y]_补=11.0111~0001\\ &x*y=-0.1000~1111\\ \end{align}除法运算⼿算除法(⼗进制)⼿算除法(⼆进制)恢复余数法原码除法:恢复余数法(0)初始(1)第⼀步上商求余数判断上商是否正确01011上商后得11110,相减结果为负,应上商0修正逻辑左移(2)第⼆步上商求余数判断上商是否正确相减结果为正数,上商正确逻辑左移(3)第三步上商求余数判断上商是否正确上商⽆误逻辑左移(4)第四步上商求余数判断上商是否正确相减结果⼩于0,上商有误修正逻辑左移(5)第五步:最后⼀步除法上商&求余数判断上商是否正确最后⼀步除法,如果上商求余数结果⼩于0.还需要继续恢复余数(6)最后⼀步\begin{align} &余数=ACC*2^{-n}\\ \end{align}原码除法(⼿算)加减交替法默认规定被除数要⼩于除数,否则硬件电路⽆法运⾏,如果被除数⼤于除数,商的结果为⼤于1的数将⽆法表⽰通过第⼀步的商来判断被除数与除数的⼤⼩关系第⼀步商的结果⼀定为负值,如果为正值说明被除数⽐除数⼤,硬件电路会⽴即停⽌运算补码除法加减交替法总结C语⾔中的强制类型转换数据的存储和排列⼤⼩端模式边界对齐浮点数的表⽰浮点数尾数的规格化左规&右规规格化浮点数的特点总结IEEE754 浮点数标准\begin{align} &IEEE754规定偏置值=2^{n-1}\\ \end{align}IEEE 754 标准\begin{align} &(-0.75)_{10}=(-0.11)_2=(-1.1)*2^{-1}\\ &数符=1\\ &尾数部分=.1000~0000……(隐含最⾼位1)\\ &阶码真值=-1\\ &单精度浮点型偏移量=127D\\ &移码=阶码真值+偏移量=-1+111~1111=0111~1110(凑⾜8位)\\ \end{align}总结浮点数的运算浮点数的加减运算\begin{align} &(0)转换格式\\ &5D=101B,\frac{1}{256}=2^{-8},X=-101*2^-8=-0.101*2^{-5}=-0.101*2^{-101}\\ &59D=111011,\frac{1}{1024}=2^{-10},Y=111011*2^{-10}=0.111011*2^{-4}=0.111011*2^{-100}\\ &X: &[阶码]_{原}=-101\\ &[阶码]_{补}=1011\\ &阶码双符号位补码:11011\\ &[尾数]_{原}=-0.101\\ &[尾数]_{补}=1.011\\ &尾数双符号位补码:11.011\\&X=11011,11.011000000\\ &Y: &[阶码]_{原}=-100\\ &[阶码]_{补}=1100\\ &阶码双符号位补码:11100\\ &[尾数]_{原}=0.111011\\ &[尾数]_{补}=0.111011\\ &尾数双符号位补码:00.111011\\ &X=11100,00.111011000\\ &浮点数加减法运算步骤\\ &(1)对阶\\ &⼩阶向⼤阶看齐,尾数每右移⼀位,阶码+1\\ &[1]求阶差:[\Delta E]_补=||E_X|_原+|E_Y|_补|=11011+00100=11111\\ &\Delta=-1\\ &[2]对阶:X:11011,11.011000000\rightarrow 111011,11.1011000000\\ &X=-0.0101*2^{-100}\\ &(2)尾数减法\\ &-Y=11100,11.000101000\\ &11011,11.011000000\\ +&11100,11.000101000\\ ---&----------------------------\\ &10.110001000\\ &X_Y=11100,10.110001000\\ &(3)规格化\\&X_Y=11100,10.110001000\rightarrow11101,011000100\\ &(4)舍⼊ \\ &⽆需舍⼊\\ &(5)判断溢出\\ &常阶码,⽆溢出,结果真值为2^{-3}*(-0.1001111)_2 \end{align}舍⼊强制类型转换总结加法器设计算术逻辑单元ALU机器字长=ALU⼀次可以处理的数据长度基本逻辑运算⽤门电路求偶校验位⼀位全加器串⾏加法器并⾏加法器总结加法器、ALU的改进并⾏加法器的优化组内并⾏&串⾏ALU芯⽚优化。

计算机组成原理第二章-计算机数据表示方法

计算机组成原理第二章-计算机数据表示方法
Confederal Confidential
9
一、计算机内的数据表示
6) 移码(增码)表 示
•移码表示浮点数的阶码,只有整数形式,如IEEE754中阶码用移码表示。
设定点整数X的移码形式为X0X1X2X3…Xn
则移码的定义是:
[X]移= 2n + X
2n X - 2n
•具体实现:数值位与X的补码相同,符号位与补码相反。
[X]补
10000001 11111111
[X]移
00000001 01111111
00000000 10000000
00000001 01111111
10000001 11111111
Confederal Confidential
11
一、计算机内的数据表示
3.计算机中常用的两种数值数据格式 1)定点数 •可表示定点小数和整数 •表现形式:X0.X1X2X3X4……..Xn
Confederal Confidential
15
一、计算机内的数据表示 IEEE754 32位浮点数与对应真值之间的变换流程
Confederal Confidential
16
一、计算机内的数据表示
例5 将十进制数20.59375转换成32位IEEE754格式浮点数的二进 制格式来存储。
解:先将十进制数换成二进制数: 20.59375=10100.10011(0.5+0.25+0.125+0.0625+0.03125) 移动小数点,使其变成1.M的形式 10100.10011=1.010010011×24
16
17
一、计算机内的数据表示
例6 若某浮点数x的二进制存储格式为(41360000)16 ,求与其对应 的32位浮点表示的十进的值。

第二章数据在计算机中的表示综合练习题参考答案

第二章数据在计算机中的表示综合练习题参考答案

第二章数据在计算机中的表示综合练习题参考答案一、1 、计算机中的数有定点表示法和浮点表示法两种表示方法。

2 、原码的编码规则是:最高位代表符号,其余各位是该数的尾数本身。

3 、补码的编码规则是:正数的补码与其原码相同,负数的补码是将二进制位按位取反后在最低位加 1 。

4 、反码的编码规则是:正数的反码与其原码相同,负数的反码是将二进制位按位取反。

5 、一种记数制允许选用基本数字符号的个数称为基数。

6 、整数部分个位位置的序是 0 。

7 、通常把表示信息的数字符号称为数码。

8 、八进制数的基数是 8 。

9 、 7402.45Q 的十六进制数是 F02.94H 。

10 、数在计算机中的二进制表示形式称为二进制数。

11 、在小型或微型计算机中,最普遍采用的字母与字符编码是 ASCII 码。

12 、计算机一般都采用二进制数进行运算、存储和传送,其理由是运算规则简单,可以节省设备。

13 、十进制整数转换成二进制的方法是除 2 取余法,小数转换成二进制的方法是乘 2 取整法。

14 、二进制的运算规则有加法规则、减法规则、乘法规则和除法规则。

15 、目前常见的机器编码有原码、反码和补码。

16 、对 -0 和 +0 有不同表示方法的机器码是原码和码。

17 、 8 位寄存器中存放二进制整数,内容全为 1 ,当它为原码、补码和反码时所对应的十进制真值分别是 -127 、 -1 、 -0 。

18 、在二进制浮点数表示方法中,阶码的位数越多则数的表示范围越大,尾数的位数越多则数的精度越高。

19 、对于定点整数, 8 位原码(含 1 位符号位)可表示的最小整数为 -127 ,最大整数为 127 。

20 、采用 BCD 码, 1 位十进制数要用 4 位二进制数表示, 1 个字节可存放 2 个 BCD 码。

21 、对于定点小数, 8 位补码可表示的最小的数为 -1 ,最大的数为 1-27 。

22 、在原码、补码、反码中,补码的表示范围最大。

数据在计算机中的表示

数据在计算机中的表示

权: 16 0 、 161 、 16 2 数值:3* 16 +2* 16 +1* 16 =3+32+256=291
0 1 2
★十六进制数码与二进制数码之间的对应 关系
0 8 1 9 2 A 3 B 4 C 5 D 6 E 7 F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
各种数制间的转换
• 十进制 → 二进制的转换: ⑵降幂法 首先写出要转换的十进制,其次写 出所有小于该数的各位二进制权值,然 后用要转换的十进制数减去与它最相近 的二进制权值,如够减则减去并在相应 位记以1;如不够减则在相应位记以0并 跳此位;如此反复直到该数为0为止。
例8
• 十进制数117.8125D 转换成二进制 计算过程如下: 1、小于N的权值 :64 32 16 8 4 1 0.5 0.25 0.125 0.0625 117 2、 64 53(a6 1)
由表中可以看出,4位二进制数码的所有不同 组合与全部十六进制数码之间是一一对应的, 1位十六进制数码相当于4位二进制数码。
1.2 各种数制间的转换
各种数制间的转换
• 十进制 → 二进制的转换: ⑴乘除法 整数部分:除2取余(商为0),余数逆向排列 小数部分:乘2取整(积为1),整数顺序排列 以小数点为起点求得整数和小数的各个位
3 十六进制
★十六进制的基为0、1、2、3、4、5、6、 7、8、9、A、B、C、D、E、F共16个 数码 ★基数为16,计数时逢16进位 ★十六进制中各数码的权为16的整数次幂 ★通常用字母H或h标识十六进制数,有 时也用下标16或下标十六标识十六进制 数

第二章.信息数据与计算机表示

第二章.信息数据与计算机表示

1
二进制数高位
13
2.1 进位计数制 例1:(13)10 = ( 1101 )2
21
3
2
6
2
3
21 0
余数 二进制数低位
1
0
1
1
二进制数高位
14
例2:(0.6875)10 = (
0. 6 8 7 5
×
2
1. 3 7 5 0
×
2
0. 7 5 0
×
2
1. 5制
)2
整数 1
二进制数高位
0
1 二进制数低位
1
15
2.1 进位计数制
例2: (0.6875)10 = (0.1011 )2
0. 6 8 7 5
×
2
整数
1. 3 7 5 0
1
×
2
0. 7 5 0
0
×
2
1. 5 0
1
×2
1. 0
1
二进制数高位 二进制数低位
16
2.1 进位计数制 例3:(13.6875)10 =(13)10+(0.6875)10
30
2.2 字符信息的表示方法
① 数的长度
在计算机中,数的长度按比特(bit)来计算。但因 存储容量常以“字节”为计量单位,所以数据长度也常 以字节为单位计算。
机器数的位数是固定的。所能表示的范围受到字长 和数据类型的限制。
② 数的符号
一般用数的最高位(左边第一位)来表示数的正负号, 并约定以“0”表示正,以“1”表示负。
9
2.1 进位计数制 (4)十六进制数制
主要特点: ① 有16个不同的计数符号:0、1、2、3、4、5、 6、7、8、9、A(10)、B(11)、C(12)、D(13)、 E(14)、F(15),其基数为16位; ② 按“逢十六进一”的规则计数。 ③ 转换为十进制数。

第2章 数码系统--数据在计算机内部的表示形式

第2章 数码系统--数据在计算机内部的表示形式

进位记数法与进制转换
• 进位记数法 • 任何一个数都可以写成以下算式: N=∑Di*ri (i=-k,-k+1,…..,m-1)
–N 代表一个数值 –r 是这个数制的基(Radix)。r=2,8,10,16,…… –i表示这些符号排列的位号 –Di是位号为i的位上的一个符号 –ri是位号为i的位上的一个 1 代表的值 –Di*ri是第i位的所代表的实际值 –∑表示m+k位的值求累加和
• 高电压—1,低电压----0。
二进制无符号数据算术运算规则
(1) 加法运算规则 0+0=0 0+1=1 1+0=1 1+1=0 并产生进位 (2) 减法运算规则 0-0=0 0-1=1 并产生借位 1-0=1 1-1=0
例如:
0101 +) 0001 0110
例如:
1011 -) 0101 0110
计算机中常用的数制
常用数制 基数r
2 二进制 8 八进制 十六进制 16 十进制 10
基本符号
0,1 0,1,2,3,4,5,6,7 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F 0,1,2,3,4,5,6,7,8,9
第i位的权值
2i 8i 16i 10i
十--八--十六进制数据的二进制编码
• 可以用点阵表示任何图形,但需要较多的 空间。 • 对于规则图形,可以存储有关的特征和规 则即可。
– 直线,可以存储起点、终点和线条的类型即可。
2.1.3 数据格式的相互转换
• 通过键盘向计算机输入的数字肯定是用 ASCII码形式表示的十进制数,必须通过软 件将其转换成二进制数。反之,计算机的 运行结果输出时,常常需要通过软件转换 成十进制数。

第二章 计算机中数据的表示

第二章  计算机中数据的表示

假设数字符号序列为: xx……x……xx.xx……x通常我们在数字符号序列后面加上标注以示声明,如上面的R进制数表示为 (xx……x……xx.xx……x)。x为0和R-1之间的整数;x的下标为数字符号的位序号,它所代表的值为x* R。系数R (R)被称为x所在位置的权。 (3)一个数的实际值为各位上的实际值总和 如: X= xx…x…xx.xx…xV(X)= x*R+x*R+…x*R+…x*R+x* R+x*R+x*R+…x*R即: V(X)=x*R+ x*RV(X)表示X的值,m、n为正整数。
第2章
计算机中数据的表示
第2章
计算机中数据的表示
第2章
计算机中数据的表示
第2章
(2)小数部分
计算机中数据的表示
V(X)=0.xx……x= x*R+x*R+……x*R若将其乘以R,可得 V(X)*R = F*R = x+ x*R+x*R+……x*R = x+F其中,x为大于1的数,所以x为整数, F小数部分。 再将F乘以R,可得 F*R= x+F x为新得到的整数。 依此类推, F*R= x*+F如此循环下去,直到小数部分为0或商的精度达 到我们的要求为止,我们就得到了从x、x一直到x的数字符号序列。也就是说, 我们要把十进制的小数转换为R进制的小数数时,只需将十进制的小数连续地 乘以R,其逐次所得到的整数即为从x到x的R进制小数的数字符号序列。
第2章
计算机中数据的表示
3.二进制及二进制数的运算 . 二进制采用逢二进一的进位规则表示数字,采用0和1两个数字符 号。计算机里就采用二进制表示信息。由于R进制的表示规则我们已 经熟悉,我们这里竟不花费篇幅重复二进制的表示规则。我们针对二 进制的运算进行介绍。 (1)加法规则:“逢2进1” 0+0=0 0+1=1+0=1 1+1=10 【例2-1】 求1010.110+1101.010 解: 1010.110 + 1101.010 ----------11000.000 结果:1010.110+1101.100=11000.000

计算机中信息的表示方法

计算机中信息的表示方法

“假”相对应,为计算机实现逻辑运算和程序中逻辑判断提
供了便利条件。
A B F=A+B
00 0
1、逻辑或运算:or v +
01 1
10 1
11 1
A B F=A ·B
2、逻辑与运算: and ^ ·
00 0 01 0
10 011ຫໍສະໝຸດ 13、逻辑非运算: not —
A F=A 01 10
3.进位计数制之间的转换方法 (1)十进制数转换成J进制数
十进制实数既有整数部分,又有小数部分,其转换方法是将整 数部分和小数部分分别转换,然后将这两部分拼起来即可。
整数部分:除以 J取余数,直到商为0,余数从右到左排列。
小数部分:乘以 J取整数,整数从左到右排列。
~ 例 100.345(D)=1100100.01011(B)
100(D)=144(Q)=64(H) 八进制
数据
数值数据 非数值数据
有符号数
无符号数 文字、字符 图形、图像 声音
数据类型
2.1 数值数据的表示
2.2.1进位计数制及其相互转换
1.进位计数制
按照一定进位方法进行计数的数制称为进位计数制, 简称进制。
在日常生活中,人们习惯使用的进制是十进制 (Decimal),但在计算机内部采用的进制却是二进制 (Binary)。由于用二进制表示的数的位数长,书写不便, 为了便于书写常采用八进制(Octal [Q])和十六进制 (Hexadecimal)作为中间进制。
第2章 计算机数据表示
计算机要对各种信息或数据进行处理, 首先遇到的问题是必须将各种信息以计算 机可以识别的方式表示,并且以一定的形 式存储在计算机中。现代计算机大都是以 二进制表示的数字计算机。

计算机组成原理第02章 计算机中的信息表示

计算机组成原理第02章 计算机中的信息表示

2.1 数值型数据的表示方法
2.1.2 带符号数的表示 2. 补码表示法 ⑴ 补码定义 ·通式 [X]补=M+X (mod M) 数X对模M 的补 数称作其补码 X>0, 作为正常溢出量可以舍去。 若X>0,则模 M 作为正常溢出量可以舍去。 因而正数的补码就是其本身, 因而正数的补码就是其本身,形式上与原码 相同。 相同。
2.1 数值型数据的表示方法
2.1.3 数的定点表示与浮点表示 2. 浮点表示法 浮点数格式(原理性) ⑴ 浮点数格式(原理性) N =±RE×M 其中: 其中: N :真值 RE :比例因子 E :阶码 R :阶码的底 M :尾数 一般采取规格化的约定 一般采取规格化 规格化的约定
Ef Em

E2 E1 Mf M1 M2
2.1 数值型数据的表示方法
2.1.3 数的定点表示与浮点表示 ⑵ 带符号定点整数 设代码序列为: ……X 设代码序列为:XnXn-1……X1X0 ,Xn为符号位
原码 典型值 真值 最大正数 非零最小正数
2n-1 1
补码 真值
2n-1 1 -2n -1
代码序列
01…… ……11 …… 00…… ……01 ……
第2章 计算机中的信息表示
重点:定点、浮点数的表示; 重点:定点、浮点数的表示;操作码扩展技 术;指令系统的设计 难点:浮点数的IEEE754格式表示, 难点:浮点数的IEEE754格式表示,定点和 IEEE754格式表示 浮点数的表示范围,浮点数的规格化问题, 浮点数的表示范围,浮点数的规格化问题, 操作码扩展技术,指令系统的设计 操作码扩展技术,
2.1 数值型数据的表示方法
2.1.2 带符号数的表示 3. 反码表示法 若定点小数的反码序列为X ·若定点小数的反码序列为X0.X1X2……Xn,则 X X 1>X≥0 [X]反= 0>X≥2-2-n+X 0>X≥-1 若定点整数的反码序列为X ·若定点整数的反码序列为XnXn-1……X1X0,则 X X 2n>X≥0 [X]反= 0>X≥2n+1-1+X 0>X≥-2n

第2章 计算机系统中的数据表示方法

第2章 计算机系统中的数据表示方法

再观察下面的例子: 再观察下面的例子:
35
•通过上述例子,得到如下结论: 通过上述例子,得到如下结论: 通过上述例子
2.4 带符号整数的表示方法
例如: 例如: (1)符号相同,幅值相加,结果可能溢出; )符号相同,幅值相加,结果可能溢出; (2)符号相反,判断哪一个较大,较大的在前减去较小的, )符号相反,判断哪一个较大,较大的在前减去较小的, 符号与较大的相同。 符号与较大的相同。 (3)做减法时需要借位,计算机电路硬件实现起来困难; )做减法时需要借位,计算机电路硬件实现起来困难; (4)做加法时需要进位,符号位可能会被冲掉,导致不可 )做加法时需要进位,符号位可能会被冲掉, 估量的错误。 估量的错误。
11
2.2 位置编码系统
图2.1计算机中常用数制 计算机中常用数制
12
2.3 十进制和二进制之间的转换
13
2.3 十进制和二进制之间的转换
•计算机采用二进制计数,是其他进制的 计算机采用二进制计数, 计算机采用二进制计数 基础,所以必须熟练掌握. 基础,所以必须熟练掌握. •掌握二进制计数系统有助于理解计算机 掌握二进制计数系统有助于理解计算机 中各个部件的工作原理以及指令集体系结 构
符号符值表示法用计算机实现过程复杂, 符号符值表示法用计算机实现过程复杂,容易出 错。
特别注意到:符号符值表示法中有两个值都表示 , 特别注意到:符号符值表示法中有两个值都表示0, +0和-0,易出乱子 和 , 怎么办?引入补码体系: 怎么办?引入补码体系: diminished radix complement system
5×10-1+6×10-2 110012=1 × 2 4 + 1 × 23 + 0 × 22 + 0 × 2 1 + 1 × 20 = 16 + 8 + 0 + 0 + 1 = 25

第2章 计算机中的数据表示方法

第2章 计算机中的数据表示方法
i n 1
K i 2i
ቤተ መጻሕፍቲ ባይዱ
m
基数R=2,数字符号Ki为0、1。采用“逢二进一”计数。 【例2.2】写出二进制数1001.11B的多项式形式。
(1001.11) 2 1 2 3 0 2 2 0 21 1 2 0 1 2 1 1 2 2
3.八进制 八进制与二进制有一种特殊关系,即3位二进制 码表示一位八进制码,。
第17页 2013年8月1日星期四
第2章
计算机中数据的表示法
5.二进制与八进制、十六进制间的转换 二进制与八进制、十六进制间的转换可以用上述 办法进行,另外还有更简捷的转换方法。 (1) 二进制与八进制间的转换 由于有这个关系,即每三位二进制数对应一位八 进制数,所以二进制数转换成八进制数的方法是: 以小数点为界,分别向左、右将二进制数每三位分 为一组,若不够三位时,可在最高位的左边,或在 小数的最右边添0,补足三位(不影响原数值的大小), 然后将每三位二进制数用一位八进制数表示即可完 成转换。
第20页 2013年8月1日星期四
第2章
计算机中数据的表示法
【例2.12】将1110110111.1101001B转换成十六 进制数。 0011 1011 0111. 1101 0010
常用几种进位计数制从0~16的表示方法列于表2-1。
第9页 2013年8月1日星期四
第2章
表2-1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 十进制数
计算机中数据的表示法
二进制数 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000 八进制数 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 十六进制数 0 1 2 3 4 5 6 7 8 9 A B C D

第2章 计算机中数据信息表示法_1

第2章 计算机中数据信息表示法_1

28
§2.2 机器数的编码表示
例2:写出机器字长8位,反码表示时所对应的 十进制整数和小数的表示范围。
反码表示:同原码表示(一一对应)
整数范围:-127≤x ≤ +127
小数范围:-(1-2-7 ) ≤ x ≤ 1 -2-7
29
1.三种机器数的比较 1)对于正数它们都等于真值本身,但对于负数各有不同 的表示。 2)最高位都表示符号位,补码的符号位可作为数值位的 特殊部分同数值位—起参加运算;而原码和反码的符号位不 允许和数值位同等看待,必须分开进行处理。 3)对于值0,原码和反码各有正负2种不同的表示形式, 只有补码有惟一的表示形式。 4)原码、反码表示的正、负数范围是对称的,而补码表 示的范围要宽,能多表示一个最负的数(绝对值最大的负 数)。
30
§2.2 机器数的编码表示
原、反、补码表示举例: 求下列各数的原、反、补码(设机器字长5位)
大 x=+1101
[x]原=0,1101 [x]反=0,1101 [x]补=0,1101
X=+0.1001 [x]原=0.1001 [x]反=0.1001 [x]补=0.1001 X=-0.0101 [x]原=1.0101 [x]反=1.1010 [x]补=1.1011
真值 原 码 反 码 补码 移码
+0
-0
00000000 00000000 00000000 10000000
10000000 11111111 00000000 10000000
+(27-1) 01111111 01111111 01111111 11111111
-1 10000001 11111110 11111111 01111111
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

取整数位1
0.25×2=0.5
取整数位0
0.5×2=1.0
取整数位1
所以,(0.8125)10=(0.1101)2 如果出现乘积的小数部分一直不为“0”,则可以根据
精度的要求截取一定的位数即可。
【例2.3】将十进制整数(2347)10转换为十六进制整数, 采用“除16倒取余”的方法,过程如下:
16 ︳2347
从小数点开始分别向左或向右,将每4位二进制数分成1组, 不足4位的补0,然后将每组用一位十六进制数表示即可。 (9)十六进制数转换为二进制数
将每位十六进制数用4位二进制数表示即可。
【例2.1】将十进制整数(105)10转换为二进制整 数,采用“除2倒取余”的方法,过程如下:
2 ︳105 2 ︳52 2 ︳26
2.计算机中常用的进位计数制
计数制 基数
数码
进位关系
二进制
2
0、1
逢二进一
八进制
8
0、1、2、3、4、5、6、7
逢八进一
十进制 10
0、1、2、3、4、5、6、7、8、9 逢十进一
十六进制 16
0、1、2、3、4、5、6、7、8、9
A、B、C、D、E、F
逢十六进一
3.计数制的书写规则
(1)在数字后面加写相应的英文字母作为标识。
连续用基数2去乘以该十进制小数,直至乘积的小数部分等 于“0”,然后顺序排列每次乘积的整数部分。 (3)十进制整数转换为八进制整数或十六进制整数
采用基数8或基数16连续去除该十进制整数,直至商等于 “0”为止,然后逆序排列所得到的余数。 (4)十进制小数转换为八进制小数或十六进制小数
连续用基数8或基数16去乘以该十进制小数,直至乘积的小 数部分等于“0”,然后顺序排列每次乘积的整数部分。
(5)二、八、十六进制数转换为十进制数 用其各位所对应的系数,按“位权展开求和”的方法就可
以得到。其基数分别为2、8、16。 (6)二进制数转换为八进制数
从小数点开始分别向左或向右,将每3位二进制数分成1组, 不足3位数的补0,然后将每组用1位八进制数表示即可。 (7)八进制数转换为二进制数
将每位八进制数用3位二进制数表示即可。 (8)二进制数转换为十六进制数
16位二进制原码表示的整数范围是-32767~+32767
2.反码
对于一个带符号的数来说,正数的反码与其原码相同,负 数的反码为其原码除符号位以外的各位按位取反。
【例2.14】当机器字长为8位二进制数时:
2 ︳13 2 ︳6 2 ︳3
2 ︳1 0
余数为1 余数为0 余数为0 余数为1 余数为0 余数为1 余数为1
所以,(105)10=()2
【例2.2】将十进制小数(0.8125)10转换为二进制小 数,采用“乘2顺取整”的方法,过程如下:
0.8125×2=1.625
取整数位1
0.625×2=1.25
为了在计算机中正确地表示带符号数, 通常规定每个字长的最高位为符号位,并用 0表示正数,用1表示负数。
1.原码
正数的符号位为0,负数的符号位为1,其它位按照一 般的方法来表示数的绝对值。用这样的表示方法得到的就 是数的原码。
【例2.13】当机器字长为8位二进制数时:
X=+1011011
Y=+1011011
码——BCD码的表达及应用。 熟悉微型计算机常用的汉字编码及其应用 语音、图像和图形的计算机表示
第2章 计算机中的数据表示
2.1 计算机中的数制及其转换 2.2 计算机中数值数据的表示 2.3 字符编码 2.4 汉字编码
2.1 计算机中的数制及其转换
通常,计算机中的数据分为两类: (1)数:用来直接表示量的多少,有大小之分,能够进行加 减等运算。
第2章 计算机中的数据表示
本章主要教学内容
计算机中数制基本概念、数制之间的相互转换 无符号数和带符号数的表示方法 ASCII码和BCD码的相关概念和应用 汉字编码及其应用 语音、图像和图形的计算机表示
第2章 计算机中的数据表示
本章教学目的及要求
熟悉数制的基本概念和计算机中常用进位计数制 掌握二、八、十、十六进制的表达和相互转换 理解机器数和带符号数的原码、反码、补码表示 掌握美国信息交换标准代码(ASCII码)和二—十进制编
如:二进制数的100可写成100B
十六进制数100可写成100H
(2)在括号外面加数字下标。进制数的2DF2
2.1.2 数制之间的转换
(1)十进制整数转换为二进制整数 采用基数2连续去除该十进制整数,直至商等于“0”为止,
然后逆序排列余数。 (2)十进制小数转化为二进制小数
(2)码:通常指代码或编码,在计算机中用来描述某种信息。
2.1.1 数制的基本概念
1.数的表示 任何一种数制表示的数都可以写成按位权展开的多项式之和。 N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m
式中:n——整数的总位数。 m——小数的总位数。 d下标——表示该位的数码。 b——表示进位制的基数。 b上标——表示该位的位权。
1.机器数的范围
字长为8位,无符号整数的最大值是(11111111)B=(255)D, 此时机器数的范围是0~255。
字长为16位,无符号整数的最大值是 (1111111111111111)B=(FFFF)H=(65535)D
此时机器数的范围是0~65535。
2.机器数的符号
在算术运算中,数据是有正有负的, 将这类数据称为带符号数。
16 ︳146
余数为11(十六进制数为B)
16 ︳ 9
余数为2
0
余数为9
所以,(2347)10=(92B)16
2.2 计算机中数值数据的表示
2.2.1 基本概念
在计算机内部表示二进制数的方法称为数值编码,把一个数及 其符号在机器中的表示加以数值化,称为机器数。机器数所代表的 数称为数的真值。 表示一个机器数,应考虑以下三个因素:
[+1]原码=00000001 [+127]原码=01111111 原码表示的整数范围是:
[X]原码=01011011 [Y]原码=11011011 [-1]原码=10000001 [-127]原码=11111111
-(2n-1-1)~+(2n-1-1),其中n为机器字长。
则:8位二进制原码表示的整数范围是-127~+127
相关文档
最新文档