内容正文:
举一反三考点练
《计算机原理》数字设备中信息的表示方法-讲义
1. 掌握十六进制的表示方法;
2. 掌握二进制、十进制、十六进制相互间转换方法;
3. 掌握有符号数的原码;
知识点一 十六进制的表示方法
一、十六进制的定义
十六进制是一种基数为16的计数系统,它在计算机科学和数字电子学中广泛使用。十六进制使用16个不同的数字来表示数值,分别是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中,A、B、C、D、E、F分别代表十进制中的10、11、12、13、14、15。
二、十六进制的表示方法
1. 十六进制数的表示
在十六进制数中,每一位的值都是16的幂次方,从右向左依次为16^0、16^1、16^2、16^3……例如,十六进制数2F3可以表示为:
2F3 = 2 * 16^2 + F * 16^1 + 3 * 16^0
= 2 * 256 + 15 * 16 + 3 * 1
= 512 + 240 + 3
= 755(十进制)
2. 十六进制与十进制的转换
(1)十六进制转十进制:将十六进制数的每一位乘以其对应的16的幂次方,然后将结果相加。
(2)十进制转十六进制:将十进制数不断除以16,直到商为0,然后将余数倒序排列,得到对应的十六进制数。
3. 十六进制的标识
在表示十六进制数时,通常在数值前加上“0x”或“0X”作为前缀,以区分其他进制数。例如,0x2F3表示十六进制数2F3。
三、十六进制的特点
简洁性:十六进制数可以更简洁地表示较大的数值,尤其在表示内存地址和颜色值时。
易读性:十六进制数中的A、B、C、D、E、F字母使得数值具有一定的可读性。
与二进制的便捷转换:十六进制与二进制之间的转换非常方便,因为4位二进制数可以直接转换为一个十六进制数。例如,二进制数1011可以转换为十六进制数B。
计算机内部表示:计算机内部通常使用二进制表示数据,而十六进制由于其与二进制的便捷转换关系,常用于简化二进制的表示。
(单项选择题)下列关于十六进制数表示的说法,错误的是?( )
A. 十六进制数使用0到F的16个字符表示
B. 十六进制数2F3在十进制中等于755
C. 十六进制数中的A表示十进制中的10
D. 十六进制数中的前缀可以是任意字符
【答案】D
【解析】十六进制数的前缀通常是0x或0X。
【要点】考查十六进制数的表示规则。
1. (单项选择题)将十进制数200转换为十六进制数,结果是?( )
A. C8 B. CA C. D0 D. A0
【答案】C
【解析】200除以16得到12余8,12转换为十六进制是C,因此200转换为十六进制是C8。
【要点】考查十进制到十六进制的转换。
2. (单项选择题)下列哪个十六进制数与二进制数1011等价?( )
A. 2B B. 3A C. B D. 11
【答案】C
【解析】二进制数1011转换为十六进制数是B。
【要点】考查二进制到十六进制的转换。
3. (判断题)十六进制数中的字母大小写不影响其数值。( )
【答案】√
【解析】十六进制数中的字母大小写是等价的,不影响数值。
【要点】考查十六进制数的表示规范。
1. (判断题)在计算机科学中,十六进制数比十进制数使用得更少。( )
【答案】×
【解析】在计算机科学中,十六进制数由于其与二进制的便捷转换关系,使用得非常广泛。
【要点】考查十六进制数在计算机科学中的应用。
2. (填空题)将十六进制数1A3转换为十进制数,结果是______。
【答案】419
【解析】1A3转换为十进制是1162 + A161 + 3*160 = 256 + 160 + 3 = 419。
【要点】考查十六进制到十进制的转换。
3. (填空题)将二进制数1101转换为十六进制数,结果是______。
【答案】D
【解析】二进制数1101可以分组为11和01,分别转换为十六进制是3和1,因此1101转换为十六进制是D。
【要点】考查二进制到十六进制的转换。
· 基数与字符集:十六进制是一种基数为16的计数系统,它使用数字0-9和字母A-F来表示数值,其中A-F分别代表十进制中的10-15。
· 转换便捷性:十六进制数与二进制数之间的转换非常方便,因为每4位二进制数可以直接转换为一个十六进制数,反之亦然。这种转换关系使得十六进制在表示计算机内部数据时非常实用。
· 表示规范:在十六进制数表示中,通常会在数值前加上前缀"0x"或"0X"来标识这是一个十六进制数,例如0x1A3。此外,十六进制数中的字母大小写不影响其数值,即0x1A3和0x1a3表示相同的数值。
· 应用广泛性:由于十六进制数在表示计算机内存地址、颜色值等方面具有简明扼要的优势,因此在计算机科学和数字电子学中被广泛使用。
知识点二 二进制、十进制、十六进制相互间转换方法
一、二进制与十进制的转换
二进制转十进制
二进制数转换为十进制数的方法是按权展开。二进制数的每一位对应一个权值,从右往左,权值依次为2的0次方、2的1次方、2的2次方,以此类推。
例如:二进制数1101转换为十进制数的过程如下:
(1101)2 = 1×23 + 1×2² + 0×2¹ + 1×20 = 8 + 4 + 0 + 1 = (13)10
十进制转二进制
十进制数转换为二进制数的方法有短除法(除2取余法)和分解质因数法。
(1)短除法:
将十进制数不断除以2,直到商为0,然后将每一步的余数倒序排列,得到二进制数。
例如:将十进制数13转换为二进制数的过程如下:
13 ÷ 2 = 6…1
6 ÷ 2 = 3…0
3 ÷ 2 = 1…1
1 ÷ 2 = 0…1
倒序排列余数:1101
(2)分解质因数法:
将十进制数分解为2的幂次之和,然后根据每个2的幂次对应的二进制位为1,得到二进制数。
例如:将十进制数13转换为二进制数的过程如下:
13 = 8 + 4 + 1
对应的二进制位:1101
二、二进制与十六进制的转换
二进制转十六进制
将二进制数从右往左每四位分为一组,不足四位的在左边补0。然后将每组四位二进制数转换为对应的十六进制数。
例如:将二进制数110111101010转换为十六进制数的过程如下:
1101 1110 1010
对应的十六进制数为:DFA
十六进制转二进制
将十六进制数的每一位转换为对应的四位二进制数。
例如:将十六进制数DFA转换为二进制数的过程如下:
D -> 1101
F -> 1111
A -> 1010
得到的二进制数为:110111101010
三、十进制与十六进制的转换
十进制转十六进制
与十进制转二进制类似,可以使用短除法(除16取余法)。
例如:将十进制数294转换为十六进制数的过程如下:
294 ÷ 16 = 18…2
18 ÷ 16 = 1…2
1 ÷ 16 = 0…1
倒序排列余数:122,对应的十六进制数为:12A
十六进制转十进制
按权展开,十六进制数的每一位对应一个权值,从右往左,权值依次为16的0次方、16的1次方、16的2次方,以此类推。
例如:将十六进制数12A转换为十进制数的过程如下:
(12A)16 = 1×16² + 2×16¹ + 10×16⁰ = 256 + 32 + 10 = (298)10
(单项选择题)将二进制数1101转换为十进制数的结果是?( )
A. 13 B. 14 C. 15 D. 16
【答案】A
【解析】(1101)2 = 12^3 + 12^2 + 02^1 + 12^0 = 8 + 4 + 0 + 1 = 13
【要点】考查二进制转十进制的计算方法。
1. (单项选择题)下列关于二进制数的说法,错误的是?( )
A. 二进制数中只有0和1两个数字
B. 计算机内部的数据传输和存储都是使用二进制
C. 二进制数中的每一位权值是2的幂次
D. 二进制数不能表示大于1的数值
【答案】D
【解析】二进制数可以通过组合0和1来表示任何大于1的数值。
【要点】考查二进制数的基本概念。
2. (单项选择题)下列哪个十六进制数对应的二进制数是1001 0110?( )
A. 96 B. 8E C. 96 D. 8F
【答案】B
【解析】8 -> 1000, E -> 1110,组合起来是1000 1110,与选项B相符。
【要点】考查十六进制与二进制的转换。
3. (判断题)十进制数转换为二进制数时,可以使用分解质因数法。( )
【答案】√
【解析】十进制数转换为二进制数时,确实可以使用分解质因数法。
【要点】考查十进制转二进制的转换方法。
1. (判断题)二进制数转换为十六进制数时,需要将二进制数从左往右每四位分为一组。( )
【答案】×
【解析】二进制数转换为十六进制数时,需要将二进制数从右往左每四位分为一组。
【要点】考查二进制转十六进制的转换方法。
2. (填空题)将十进制数31转换为二进制数,结果是______。
【答案】11111
【解析】31 2 15 2 7 2 3 2 1 2 0,倒序排列余数得到11111。
【要点】考查十进制转二进制的计算。
3. (填空题)将十六进制数1A转换为十进制数,结果是______。
【答案】26
【解析】(1A)16 = 116^1 + 1016^0 = 16 + 10 = 26
【要点】考查十六进制转十进制的计算。
· 转换原理:二进制、十进制和十六进制之间的转换基于位置计数系统,每种进制数位的权值是基数的幂次。例如,二进制的权值是2的幂次,十进制的权值是10的幂次,十六进制的权值是16的幂次。
· 二进制与十进制的转换:二进制转十进制采用按权展开法,即每位二进制数乘以其对应的权值后求和;十进制转二进制通常采用短除法或连续除以2取余法。
· 二进制与十六进制的转换:二进制转十六进制时,将二进制数从右往左每四位分为一组,每组转换为相应的十六进制数;十六进制转二进制则是将每个十六进制数转换为对应的四位二进制数。
· 十六进制与十进制的转换:十六进制转十进制同样采用按权展开法,而十进制转十六进制则可以通过短除法除以16取余的方式实现。十六进制数的转换在计算机科学中尤为重要,因为它提供了更为紧凑的数据表示方式。
知识点三 有符号数的原码
1. 原码定义
原码是一种用二进制表示有符号数的方法,其中最高位(最左边的位)用作符号位,其余位表示数值的大小。符号位用0表示正数,用1表示负数。
2. 原码表示形式
原码表示形式为:[符号位] [数值位]
例如,对于n位二进制数,原码表示如下:
正数:0 [n-1位数值]
负数:1 [n-1位数值]
3. 原码表示范围
对于n位二进制原码,可以表示的数值范围为:
正数:0 ~ 2^(n-1) - 1
负数:-(2^(n-1) - 1)~ 0
4. 原码的特点
(1)直观性:原码表示的数值直观,易于理解。例如,+5的原码表示为0101,-5的原码表示为1101。
(2)表示零:原码可以表示两个零,即+0和-0。+0的原码表示为0000,-0的原码表示为1000。
(3)运算规则简单:原码的加法和减法运算规则相对简单,只需关注符号位和数值位的运算。
5. 原码的不足
(1)符号位导致的表示范围不均匀:原码表示的正数和负数范围不对称,例如,4位二进制原码可以表示的最大正数为7(0111),而最小负数为-7(1111),无法表示-8。
(2)存在两个零的问题:原码表示的零有两个不同的编码,这可能导致计算机在处理时产生混淆。
(3)运算过程中可能出现溢出:在进行原码加法或减法运算时,若结果超出表示范围,则会发生溢出。
6. 原码与补码、反码的关系
计算机中通常使用补码来表示有符号数,因为补码具有更好的运算特性和范围对称性。原码可以通过以下方式转换为补码:
正数的补码与其原码相同。
负数的补码为其原码除符号位外,其余位取反后加1。
(单项选择题)下列关于有符号数原码的说法,错误的是?( )
A. 原码的最高位用作符号位,0表示正数,1表示负数
B. 原码表示的数值范围对于正数和负数是对称的
C. 原码可以表示两个零,即0和-0
D. 原码的加法和减法运算规则相对简单
【答案】B
【解析】原码表示的数值范围对于正数和负数是不对称的。
【要点】考查原码的数值表示范围。
1. (单项选择题)对于一个8位二进制原码,其能表示的最大正数是?( )
A. 127 B. 128 C. 255 D. 256
【答案】A
【解析】8位二进制原码表示的最大正数为2^7 - 1 = 127。
【要点】考查原码的数值表示范围。
2. (单项选择题)下列关于原码的描述,正确的是?( )
A. 原码的符号位和数值位可以互换
B. 原码的加法和减法运算不会出现溢出
C. 原码表示的负数范围比正数范围大
D. 原码可以直观地表示数值的大小和符号
【答案】D
【解析】原码的符号位固定在最左边,加法和减法运算可能会出现溢出,负数范围与正数范围不对称,但原码可以直观地表示数值的大小和符号。
【要点】考查原码的特点。
3. (判断题)原码表示的数值范围对于正数和负数是均匀的。( )
【答案】×
【解析】原码表示的数值范围对于正数和负数是不均匀的。
【要点】考查原码的数值表示范围。
1. (判断题)在原码表示中,0和-0的编码是相同的。( )
【答案】×
【解析】在原码表示中,0的编码为全0,而-0的编码为最高位为1,其余位为0。
【要点】考查原码的零的表示。
2. (填空题)一个n位二进制原码可以表示的数值范围为______到______。
【答案】-2^(n-1) + 1 到 2^(n-1) - 1
【解析】n位二进制原码的数值范围包括负数和正数。
【要点】考查原码的数值表示范围。
3. (填空题)将原码转换为补码时,负数的补码是其原码除符号位外,其余位取反后______。
【答案】加1
【解析】负数的补码是其原码除符号位外,其余位取反后加1。
【要点】考查原码与补码的转换关系。
· 原码表示法:原码是一种二进制表示方法,其中最高位作为符号位(0表示正数,1表示负数),其余位表示数值的大小,直接反映了数值的正负和大小。
· 数值表示范围:原码的数值表示范围对于正数和负数是不对称的。对于n位二进制原码,可以表示的数值范围为-2^(n-1) 到 2^(n-1) - 1。
· 溢出问题:在原码的加法和减法运算中,由于表示范围有限,当运算结果超出该范围时,会发生溢出现象,导致计算结果不正确。
· 原码与补码的关系:原码虽然直观,但在计算机内部运算中,通常使用补码进行计算。补码可以通过原码转换得到,其中正数的补码与其原码相同,负数的补码是其原码除符号位外,其余位取反后加1。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$