专题4 机内数据表示方式(讲义)-浙江省(单独招生)计算机类《计算机基础》考纲讲练测
2026-07-02
|
9页
|
70人阅读
|
0人下载
精品
内容正文:
编写说明:本专辑为浙江省(单独招生)计算机类《计算机基础考纲讲练测》,严格依据浙江省普通高校单独招生考试大纲(专业课)计算机类考试范围及要求编写,精准对标考纲,兼顾考点覆盖与实战应用。每套讲练测提供讲义、课件、练习三大配套教学文件,贯穿九大核心环节:考点解读、思维导图、知识梳理、背诵环节、常考题、高考真题、课堂练习、课堂小结及课后测验,形成“讲-练-测-评”闭环式教学与复习逻辑,助力考生夯实基础、突破重难点。
浙江省计算机类
《计算机基础考纲讲练测》
专题4 机内数据表示方式 讲义
[考点解读]
1.理解计算机机内编码形式。
[思维导图]
[知识梳理]
1.真值数的概述
带正、负符号的数称为真值数。在数值前面用“+”表示正数的符号,用“-”表示负数的符号。例如,+36、(-12)16等都是真值数。
2.机器数的概述
机器数是将正负符号数字化的数,是数值编码在计算机中的二进制表示形式。它具有两个特点:一是符号数字化,0代表“+”号,1代表“-”号;二是其数值的大小受机器字长的限制,而机器字长决定了二进制数的位数。
计算机中处理的数据分为两种:一种是无符号数,另一种是有符号数。机器数可以是带符号的,也可以是不带符号的。带符号的机器数用来表示正数、负数和零,通常最高位为符号位,而不带符号的机器数只能表示非负整数。例如,一个8位二进制数10000001,若为带符号的机器数,则表示十进制数值-1;若为不带符号的机器数,则表示十进制数值129。在计算机中,通常使用有符号的机器数来进行算术运算,原码、反码、补码都是有符号机器数的表示方式。
(1)原码
原码表示法在数值前面增加了一位符号位,即最高位为符号位。计算机中正数的符号位用“0”表示,负数的符号位用“1”表示,其余位表示数值的大小,即数值部分用二进制的绝对值表示。这种方法表示的数称为原码,数X的原码记为[X]原。
当机器字长为8位时:
[+1]原=00000001 [+127]原=01111111 [-1]原=10000001 [-127]原=11111111
零的原码不唯一,有以下两种表示方式:
[+0]原=00000000 [-0]原=10000000
原码的范围为:(-127~-0)和(+0~+127)。
(2)反码
反码是相对原码而言的,也是机器数的一种表示方式。反码与原码的关系有两种:正数的反码和负数的反码。数X的反码记作[X]反。
①正数的反码:与原码相同,就是其本身,即符号位为0,数值部分与原码相同。
②负数的反码:在原码的基础上,符号位为1,其余各位取反,即数值部分0变为1,1变为0。
当机器字长为8位时:
[+1]反=00000001 [+127]反=01111111 [-1]反=11111110 [-127]反=10000000
零的反码不唯一,有以下两种表示方式:
[+0]反=00000000 [-0]反=11111111
反码的范围为:(-127~-0)和(+0~+127)。
(3)补码
补码也是相对原码而言的,是计算机中一种重要的机器数表示方法,补码与原码的关系有两种:正数的补码和负数的补码。数X的补码记作[X]补。
①正数的补码:与原码相同,就是其本身,即符号位为0,数值部分与原码相同。正数的原码、反码、补码都相同。
②负数的补码:是其绝对值按位取反后加1。即符号位为1,数值部分由原码按位取反(即0变1,1变0),然后在最低位加1得到。
当机器字长为8位时:
[+1]补=00000001 [+127]补=01111111 [-1]补=11111111 [-127]补=10000001
零的补码表示是唯一的:
[+0]补=[-0]补=00000000
补码的范围为:-128~+127。
当机器字长为8位时,-128是补码的最小值,且[-128]补=10000000。在二进制中,为了简化硬件设计和运算过程,常用补码的加法来代替二进制减法的运算。
3.真值数与机器数的转换
机器数可以是有符号数,也可以是无符号数,真值数则为带正、负符号的数。机器数和真值数进行转换时,通常将最高位定义为符号位,用“0”表示正数,用“1”表示负数,其余各位表示该真值数的数值。
(1)真值数转机器数
当机器字长为8位时,要将真值数(+110101)2转换为机器数,该真值数为正数,故最高位为“0”。110101则表示数值位,若符号位加上数值位不足8位,需要在数值位110101前补0,故真值数(+110101)2的机器数可以表示为:00110101。
同理,真值数(-110101)2转换为机器数后最高位为“1”,表示该真值数为负数,数值位为110101,补0后可以表示为:10110101。
(2)机器数转真值数
要将机器数转换为真值数,在确定符号位后,再进行数值位的转换即可得到真值数。将机器数00110101转换为十进制的真值数,符号位为“0”,因此该数为正数,用“+”表示符号。再将数值位0110101转换为十进制数,转换结果为53。故机器数00110101转换为真值数结果为(+53)10。
同理,将机器数10110101转换为十进制的真值数,符号位为“1”因此该数为负数,用“-”表示符号。再将数值位0110101转换为十进制数,转换结果为53。故机器数10110101转换为真值数结果为(-53)10。
4.原码、反码、补码的转换
(1)原码与反码的转换
原码和反码是计算机中表示有符号数的两种不同方法。其中,原码是最简单的机器数表示法,而反码可通过原码转换得到。
①正数的原码与反码互转。
对于正数,其原码和反码是相同的,符号位和数值位都一样。例如:当机器字长为8位时,[+1]反和[+127]反可以表示为:
[+1]反=[+1]原=00000001 [+127]反=[+127]原=01111111
②负数的原码与反码互转。
·负数的原码转反码
将负数的原码转反码时,符号位保持不变,反码的数值位是对原码数值位按位取反。例如:当机器字长为8位时,真值数(-1)10转换为机器数,[-1]原=10000001,[-1]反=11111110。
·负数的反码转原码
将负数的反码转原码时,符号位保持不变,原码的数值位是对反码数值位按位取反。例如:当机器字长为8位时,要将机器数10000000转换为原码,符号位(最高位1)不变,其余(0000000)各位取反,故该数的原码可以表示为:11111111。若最高位为“1”,则转换为“-”符号,完成符号位转换后,将数值位1111111转换为十进制数127,可知:[-127]反=10000000,[-127]原=11111111。
(2)原码与补码的转换
补码在现代计算机科学中扮演着至关重要的角色,特别是在整数的表示和运算方面,它简化了正、负数的运算规则,提高了计算机的运算效率,并实现了加减运算的统一处理。补码可通过原码转换得到。
①正数的原码与补码互转。
对于正数,其原码和补码是相同的,符号位和数值位都一样。例如:当机器字长为8位时,[+1]补和[+127]补可以表示为:
[+1]补=[+1]原=00000001 [+127]补=[+127]原=01111111
②负数的原码与补码互转。
·负数的原码转补码
将负数的原码转补码时,符号位保持不变,补码的数值位是对原码数值位按位取反后加1。例如:当机器字长为8位时,[-1]原=10000001,若要将负数的原码转换为补码,则符号位1不变,对数值位0000001按位取反,得到1111110后加1,即可得到该数补码的数值位为1111111,故:[-1]补=11111111。
·负数的补码转原码
将负数的补码转原码时,符号位保持不变,原码的数值位是对补码数值位先减1后再按位取反。例如:当机器字长为8位时,[-127]补=10000001,转换为原码时,符号位1不变,先将其数值位0000001减1,得到数值位0000000后按位取反,得到该数原码的数值位为1111111,故:[-127]原=11111111。
(3)反码与补码的转换
①正数的反码与补码互转。
对于正数,其反码和补码是相同的,符号位和数值位都一样。
例如:[+1]补=[+1]反=00000001 [+127]补=[+127]反=01111111
②负数的反码与补码互转。
·负数的反码转补码
将负数的反码转换为补码时,符号位保持不变,补码的数值位是对反码的数值位加1。例如:当机器字长为8位时,[-127]反=10000000,数值位加1后得到[-127]补=10000001。
·负数的补码转反码
将负数的补码转换为反码时,符号位保持不变,反码的数值位是对补码的数值位减1。例如:当机器字长为8位时,[-127]补=10000001,数值位减1后得到[-127]反=10000000。
[背诵环节]
1.简述机器数的概念和特点。
【答案】机器数是将正负符号数字化的数,是数值编码在计算机中的二进制表示形式。它具有两个特点:一是符号数字化,0代表“+”号,1代表“-”号;二是其数值的大小受机器字长的限制,而机器字长决定了二进制数的位数。
2.简述原码、反码和补码的范围。
【答案】
①原码范围:(-127~-0)和(+0~+127)。
②反码范围:(-127~-0)和(+0~+127)。
③补码范围:-128~+127。
3.简述补码的概念。
【答案】①正数的补码:与原码相同,就是其本身,即符号位为0,数值部分与原码相同。正数的原码、反码、补码都相同。②负数的补码:是其绝对值按位取反后加1。即符号位为1,数值部分由原码按位取反(即0变1,1变0),然后在最低位加1得到。
4.简述原码、反码和补码零的表达方式。
【答案】
①原码:[+0]原=00000000;[-0]原=10000000。
②反码:[+0]反=00000000;[-0]反=11111111。
③补码:[+0]补=[-0]补=00000000。
[常考题]
1.下列关于8位二进制机器数说法正确的是( )
A.有符号数最高位为数值位
B.符号位用0表示负数,1表示正数
C.真值数包含正负符号
D.机器数可以无限增大位数
【答案】C
2.在8位编码规则下,十进制数−10的原码是( )
A.10001010 B.00001010 C.11110101 D.11110110
【答案】A
3.已知8位原码10101100,其对应的反码为( )
A.11010100 B.01010011 C.10101101 D.11010011
【答案】D
4.8位二进制中,[−3]反转换为补码的结果是( )
A.11111100 B.11111101 C.10000011 D.00000011
【答案】B
5.8位补码10000000对应的十进制真值是( )
A.0 B.−128 C.−1 D.128
【答案】B
6.正数的原码、反码、补码三者完全相同。( )
【答案】√
7.8位编码中,+0和−0的补码表示形式不相同。( )
【答案】×
8.机器数01100101是一个正数。( )
【答案】√
9.对一个负数的补码先减1,再对数值位取反,可得到其原码。( )
【答案】√
10.8位有符号原码的表示范围是−128~+127。( )
【答案】×
[高考真题]
1.(单项选择题)已知十进制数+26,其8位原码为( )
A.00011010 B.10011010 C.01101000 D.11101000
【答案】A
2.(单项选择题)8位二进制数11001011为某负数的反码,其对应的原码是( )
A.10110100 B.10110101 C.11001010 D.01001011
【答案】A
3.(单项选择题)下列编码中,属于8位补码且对应真值为−20的是( )
A.10010100 B.11101100 C.11101011 D.10010011
【答案】B
4.(单项选择题)关于8位原码、反码、补码,下列说法错误的是( )
A.原码中存在+0和−0两种编码
B.反码中+0与−0编码不相同
C.补码可以表示出8位范围内的−128
D.负数的原码、反码、补码形式完全一致
【答案】D
5.(判断题)8位有符号机器数01011100,它的反码与自身相等。( )
【答案】√
6.(判断题)已知8位补码为 11111110,对应的十进制真值是−2。( )
【答案】√
7.(判断题)8位字长下,十进制−127的补码是10000000。( )
【答案】×
8.(判断题)计算机采用补码运算,核心目的是将减法运算转换为加法运算,简化硬件设计。( )
【答案】√
[课堂练习]
1.8位字长下,十进制数−15的8位原码是( )
A.10001111 B.00001111 C.11110000 D.11110001
【答案】A
2.已知8位原码11010010,该数对应的8位反码是( )
A.11010011 B.10101101 C.00101101 D.10101110
【答案】B
3.8位字长中,十进制−8的补码是( )
A.10001000 B.11110111 C.11111000 D.10000111
【答案】C
4.下列关于8位编码取值范围,描述正确的是( )
A.8位原码范围:−128~+127
B.8位补码范围:−128~+127
C.8位反码范围:−128~+128
D.8位无符号数范围:−127~+127
【答案】B
5.8位补码10000001对应的十进制真值为( )
A.−127 B.−1 C.1 D.127
【答案】A
6.8位机器数00110110,其原码、反码、补码完全相同。( )
【答案】√
7.8位编码中,[+0]原和[-0]原是两种不同的编码。( )
【答案】√
8.已知负数的8位反码,对其整体加2即可得到对应补码。( )
【答案】×
9.8位有符号机器数,符号位占用1位,剩余7位表示数值。( )
【答案】√
10.十进制数+32和−32的8位补码形式完全相同。( )
【答案】×
[课堂小结]
1、 机内数据表示方式
1、 真值数、机器数的概念
2、 真值数和机器数的转换
3、 原码、反码、补码的转换
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。