第3节 计算机中数据的表示

发布时间 : 星期四 文章第3节 计算机中数据的表示更新完毕开始阅读

第3节 计算机中数据的表示

教学目的:了解计算机中数据的分类和表示方法;掌握原码、反码、补码的概念以及相互之间的转换;

教学重点:数据的浮点表示;原码、反码、补码的概念以及相互之间的转换; 教学难点:浮点表示,原码、反码、补码表示范围 教学课时:2

◆【课前预习】◆

阅读教材,完成课堂探究中的填空。

◆【课堂探究】◆

一.计算机中的数据分类

数据按其属性是否具有度量多少的数量含义而分为数值型、字符型、逻辑型三大类。 1.数值型:具有量的多少的含义,根据是不含有小数又分为整型和实型两类。 2.字符型:无数量多少的含义,但无论哪一个字符均对应一个惟一的二进制编码,此编码或用于计算机内部处理或用于信息的输入输出。常用的有ASCII码、汉字的各种编码。 3.逻辑数据:为了使计算机具有逻辑判断能力,引入了逻辑数据,并使计算机能对它们进行逻辑运算,从而得出一个逻辑式的判断结果。在计算机中用一位或一个字节表示,仅取“真“或“假“两个值,在计算机内部常用0表示假,1表示真。 二.计算机中数据的表示方法 1.数值型数据的表示

在计算机内部,要表示一个数值数据,将涉及数的正负号及小数点,根据是否考虑正负号,可将数值数据分为无符号数与有符号数,根据数据小数点是否固定可将其分为定点数和浮点数。 (1)带符号数的表示

在计算机内部,数的正负号用一位二进制数来表示,这个二进制位一般在数的最高位,又称为符号位,且用0代表正,用1代表负。

若用八位二进制位表示一个有符号的整数,其最高位为符号位,则表示数值的只有七个二进制位,可表示的最大整数为127,最小整数为-127。 符号:0表示正,1表示负 数值:随具体情况而定

(2)带小数的数的表示:定点表示、浮点表示

在计算机内部,通常用两种方法来表示带小数点的数,即所谓的定点数和浮点数。 ①定点数:是小数点在数中的位置是固定不变的数,数的最高位为符号位,小数点可在符号位之后,也可在数的末尾。

缺点:只有纯小数或整数才能用定点数表示; ②浮点数:小数点在数中的位置是浮动的、不固定的数。

- 1 -

一般浮点数既有整数部分又有小数部分,通常对于任何一个二进行制数N,总可以表示成:

N=±2×S

N、P、S均为二进制数,P为N的阶码,一般为定点整数,常用补码表示,阶码指明小数点在数据中的位置,它决定浮点的表示范围;S称为浮点数N的尾数,一般为定点小数,常用补码或原码表示,尾数部分给出了浮点数的有效数字位数,它决定了浮点数的精度,且|S|<1;

在计算机中表示一个浮点数其结构为: 阶码部分 阶符 阶数 Ef E1E2?Em 尾符 Sf 尾数部分 尾数 S1S2?Sn P

假设用八个二进制位来表示一个浮点数,且阶码部分占4位,其中阶符占一位;尾数部分占4位,尾符也占一位。

若现有一个二进制数N=(101100)2可表示为:2×0.1011,则该数在机器内的表示形式为:

0 1 1 0 0 1 1 0 1 110

一个浮点形式的尾数S若满足0.5≤|S|<1,且尾数的最高位数为1,无无效的0,则该浮点数称为规格化数;规格化数可以提高运算的精度。

S为原码表示,则 S1=1 规格化数

S为补码表示 N为正数,则S1 =1 N为负数,则S1=0 (3)无符号数的表示方法

与前者的区别仅在于最高位不代表数的正负,机器的全部有效位均用来表示数的大小。

若用八位二进制数表示一个有符号的整数,则表示数值的有八个二进制位,那么可表示的最大整数为255,最小整数为0。 (4)数值型数据的编码

在计算机中数据和符号全部数字化,若最高位为符号位,且用0表示正、1表示负,那么,把包括符号在内的一个二进制数我们称为机器数,这样,采用把各种符号和数值位一起编码的方法来表示数值型数据。数值型数据在计算机中通常用以下几种码制表示,即原码、反码和补码。

①原码表示法:是最简单的机器数表示法。其数符位用0表示正,1表示负,数值一般用二进制形式表示。如果一个机器数为X,则原码可记作[X]原。 如:有X1的真值为+1101010 则[X1]原=01101010。

- 2 -

有X2的真值为-1010110 则[X2]原=11010110。

原码数的与二进制位数有关。若用8位二进制位小数、整数的原码时,其表示范围为: 1.1111111(0.9921875D)~0.1111111(-0.9928175D) 11111111(-127D)~01111111(+127D)

但在原码表示法中0有两种表示形式,即正0(00000000)和负0(10000000)之说; n位的二进制数用原码表示,则可表示的数的个数为2-1个

②反码表示法:正数的反码同原码,负数的反码为除符号位外,其它各位按位取反。 如:

有X1=+1101010 则[X1]原=01101010 [X1]反=11010110。 有X2=-1010110 则[X2]原=11010110 [X2]反=10101001。

在反码表示法中0也有两种表示形式,即有正0和负0的区别, [+0]反 =00000000 [-0]反 =11111111

n位的二进制数用反码表示,则可表示的数的个数为2-1个; ③补码表示法:正数的补码同原码,负数的补码为反码加1;

补码是二进制运算中的一个较为重要的概念,补码的符号位是数值的一部分,可同数值一起参加运算,它可以把减法转换成加法运算。 若用8位二进制表示,小数、整数的补码表示范围为: 1.0000000~0.1111111 即-1~0.9928175 10000000~01111111 即-128~+127

0的表示在补码中是唯一的,即[+0]补=[-0]补=0000000 n位的二进制数用补码表示,则可表示的数的个数为2个;

n

nn

◆【当堂训练】◆

一、选择题

1、在机器数的三种表示形式中,符号位可以和数值位一起参加运算的是( )。 A、原码 A、补码

B、反码 B、原码

C、补码 C、反码

D、反码和补码 D、移码

D、-128~127

2、若机器数10110010对应的真值为-4DH,则该机器数采用的表示形式是( )。 3、一个8位二进制补码的表示范围是( )。 A、0~255 A、01010000

B、-128~128 B、11001000

C、-127~128

4、已知x的原码为11001000,y的原码为10001000,则x+y的补码为( )。

C、10110000

D、10101111

5、若浮点数的阶码采用3位补码表示,尾数采用6位补码表示,则浮点数101100110的阶码、尾数对应的十进制分别是( )。

- 3 -

A、-1、-6 B、-3、-0.8125

C、-2、1.1875 D、5、38

6、机器数11111111对应的十进制整数不可能的是( )。

A、255 B、-127

C、-0

D、-128

7、机器数80H所表示的真值是128,则该机器数为( )形式的表示。

A、原码

B、反码

C、补码

D、移码

8、在浮点数中,阶码、尾数的表示格式是( )。 A、阶码定点整数、尾数定点小数 B、阶码定点整数、尾数定点整数 C、阶码定点小数、尾数定点整数 D、阶码定点小数、尾数定点小数

9、下列用补码表示的数中的最小数是( )。

A、00101101B B、11111111B C、10000001B

D、10101101B 10、若某数x的值为-0.1010,在计算机中表示 为1.0110,则该数所用的编码是( )A、原码

B、补码

C、反码

D、移码

11、在定点二进制运算器中,减法运算一般通过( )来实现。 A、原码运算的二进制减法器 B、补码运算的二进制减法器 C、补码运算的十进制加法器

D、补码运算的二进制加法器

二、判断题

1、计算机中正数只有原码、无反码、补码。

2、字长为16的补码,其所能表示的定点小数最小值为-1。

3、机器数10000000所对应真值的十进制可以是-1、-128、-0、-127。 4、0的原码、反码和补码表示的形式都是唯一的全零表示。 5、16位补码表示的定点小数的最小值是-32768。 3、对任何数求其补码的补码,其值为原码。 4、机器数和真值的表示形式是一致的。

5、求y的负补的方法是除符号外,其余各位取反,末尾加1。 6、浮点数的溢出以尾数是否溢出作为标准。 7、加法运算后的进位标志存放在累加器中。 8、两个定点数相减,不会产生溢出。

9、一个数的原按位取反后末位加1,则为该数的补码。

10、字长为n的原码、反码、补码所能表示的整数范围是相同的。 三、填空题

1、一个码长为6的原码的最多可表示__________个十进制数。 2、若某数的码是FAH,则该数的补码是__________H。 3、已知[x]补=11101B,则[-2x]补=__________B。

4、已知某数的补码为8AH,则将其扩展为12位后,表示为__________H。

- 4 -

联系合同范文客服:xxxxx#qq.com(#替换为@)