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

在这里插入图片描述
在这里插入图片描述

1. 数制和编码

1.1 进位计数制及其相互转换

1.1.1 进位计数制

二进制: 0,1

好处:
①可使用两个稳定状态的物理器件表示
②0,1正好对应逻辑值假、真。方便实现逻辑运算
③可很方便地使用逻辑门电路实现算术运算

八进制: 0,1,2,3,4,5,6,7

十进制: 0,1,2,3,4,5,6,7,8,9

十六进制: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

1.1.2 不同进制间的相互转换

1.任意进制→十进制
在这里插入图片描述
2.二进制转八进制、十六进制
在这里插入图片描述
3.十进制转任意进制

整数部分:除基取余法,先取得的“余”是整数的低位。
在这里插入图片描述
小数部分:乘基取余法,先取的“整”是小数的高位
在这里插入图片描述

各种进制的常见书写方式:
在这里插入图片描述

1.2 真值和机器数

真值:符合人类习惯的数字

机器数:数字实际存到机器里的形式,正负号需要被“数字化”

1.3 字符与字符串

在这里插入图片描述

1.4 校验码(考纲删除,计网会考)

1.4.1 奇偶校验码

在这里插入图片描述
由若干位代码组成的一个字叫码字
将两个码字逐位进行对比,具有不同的位的个数称为两个码字间的距离
一种编码方案可能有若干个合法码字,各合法码字间的最小距离称为“码距”。
当d=1时,无检错能力;当d=2时,有检错能力;当d≥3时,若设计合理,可能具有检错、纠错能力

奇校验码:整个校验码(有效信息位和校验位)中“1”的个数为奇数。

偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数。
在这里插入图片描述

1.4.2 海明校验码

海明码设计思路:将信息位分组进行偶校验—> 多个校验位—>多个校验位标注出错位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4.3 循环冗余校验码

循环冗余校验(Cyclic Redundancy Check, CRC)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
C
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
AC
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 定点数的表示和运算

2.1 定点数的表示

2.2.1 无符号数的表示

无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。

2.2.2 有符号数的表示

在这里插入图片描述
原码

定义:用尾数表示真值的绝对值,符号位“0/1”对应“正/负”。

若机器字长n+1位,原码整数的表示范围:−(2n−1) ≤ x ≤ 2n−1(关于原点对称)真值0有+0 和-0 两种形式。
原码小数的表示范围:−(1−2−n) ≤ x ≤ 1−2−n(关于原点对称)真值0有+0 和-0 两种形式。

反码

定义:若符号位为0,则反码与原码相同若符号位为1,则数值位全部取反。

若机器字长n+1位,反码整数的表示范围:−(2n−1) ≤ x ≤ 2n−1(关于原点对称)真值0有+0 和-0 两种形式。
反码小数的表示范围:−(1−2−n) ≤ x ≤ 1−2−n(关于原点对称)真值0有+0 和-0 两种形式。

补码

定义:正数的补码=原码;负数的补码=反码末位+1(要考虑进位)。

定点整数补码[x]= 1,0000000表示x = -27
若机器字长n+1位,补码整数的表示范围:−2n ≤ x ≤ 2n−1 (比原码多表示一个−2n
定点小数补码[x]= 1.0000000表示x = -1
若机器字长n+1位,补码小数的表示范围:−1 ≤ x ≤ 1−2−n (比原码多表示一个−1 )

补码的真值0只有一种表示形式,[+0]= [-0]= 00000000
eg:将负数补码转回原码的方法相同:尾数取反,末位+1

作用: 使用补码可将减法操作转变为等价的加法,ALU中无需集成减法器。执行加法操作时,符号位一起参与运算。

移码

定义:补码的基础上将符号位取反。注意:移码只能用于表示整数

[+0]移= [-0]移= 10000000。
若机器字长n+1位,移码整数的表示范围:−2n ≤ x ≤ 2n−1 (与补码相同)\

由[x]补快速求[-x]补的方法: 符号位、数值位全部取反,末位+1

作用: 移码表示的整数很方便对比大小。

2.2 定点数的运算

2.2.1 移位运算

原码

符号位保持不变,仅对数值位进行移位。
右移: 高位补0,低位舍弃。若舍弃的位=0,则相当于÷2;若舍弃的位≠0,则会丢失精度。
左移: 低位补0,高位舍弃。若舍弃的位=0,则相当于×2;若舍弃的位≠0,则会出现严重误差。

反码

正数的反码与原码相同, 因此对正数反码的移位运算也和原码相同。
右移:高位补0,低位舍弃。左移:低位补0,高位舍弃。
负数的反码数值位与原码相反, 因此负数反码的移位运算规则如下,
右移:高位补1,低位舍弃。左移:低位补1,高位舍弃。

补码

正数的反码与原码相同, 因此对正数补码的移位运算也和原码相同。
右移:高位补0,低位舍弃。左移:低位补0,高位舍弃。
负数补码的算数移位规则如下:
右移(同反码): 高位补1,低位舍弃。
左移(同原码): 低位补0,高位舍弃。

逻辑移位

逻辑右移:高位补0,低位舍弃。逻辑左移:低位补0,高位舍弃。

循环移位

不带进位位:用移出的位补上空缺。
带进位位:移出的位放到进位位,原进位位补上空缺。

2.2.2 加减运算

原码
在这里插入图片描述
补码
由[x]补快速求[-x]补的方法: 符号位、数值位全部取反,末位+1
在这里插入图片描述
溢出判断:

只有“正数+正数”才会上溢——正+正=负
只有“负数+负数”才会下溢——负+负=正

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.3 乘法

原码
在这里插入图片描述
补码
在这里插入图片描述

2.3.4 除法

原码
在这里插入图片描述
在这里插入图片描述
补码
在这里插入图片描述

2.3 C语言中的整数类型及类型转换

在这里插入图片描述
符号扩展:

定点整数的符号扩展: 在原符号位和数值位中间添加新位,正数都添0负数原码添0,负数反、补码添1
定点小数的符号扩展: 在原符号位和数值位后面添加新位,正数都添0负数原、补码添0,负数反码添1

2.4 数据的存储和排列

在这里插入图片描述
在这里插入图片描述

练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
D
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 浮点数的表示和运算

3.1 浮点数的表示

在这里插入图片描述
阶码: 常用补码或移码表示的定点整数
尾数: 常用原码或补码表示的定点小数

浮点数尾数的规格化:

规格化浮点数: 规定尾数的最高数值位必须是一个有效值。
左规: 当浮点数运算的结果为非规格化时要进行规格化处理,将尾数算数左移一位,阶码减1。
右规: 当浮点数运算的结果尾数出现溢出(双符号位为01或10)时,将尾数算数右移一位,阶码加1。

在这里插入图片描述
在这里插入图片描述

3.2 浮点数的加减运算

在这里插入图片描述

练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
B
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 算术逻辑单元 ALU(非重点)

在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
计算机组成原理是计算机科学中重要的一门课程,涉及到计算机的硬件组成、指令系统、数据表示和处理等方面的知识。如果你想自学计算机组成原理,可以参考以下步骤: 1. 学习基础知识:计算机组成原理的学习需要一定的数学和物理基础,可以先学习相关的数学和物理知识,例如逻辑门电路、数制转换、布尔代数等。 2. 学习指令系统:指令系统是计算机中非常重要的一部分,需要了解指令集的种类、指令的组成和执行过程等知识。 3. 学习数据表示和处理:计算机中的数据表示和处理方式有很多种,需要掌握二进制、十进制、八进制和十六进制等多种数制表示方法,以及浮点数的表示和处理方式等知识。 4. 学习CPU的结构和功能:CPU是计算机中最重要的部件之一,需要了解其结构、功能和执行指令的过程等知识。 5. 学习存储器的结构和功能:存储器是计算机中用于存储数据和程序的部件,需要了解其结构、特点和组成方式等知识。 6. 学习计算机的总线系统:计算机中的总线系统是不同部件之间进行数据传输和通信的桥梁,需要了解总线的类型、特点和传输方式等知识。 7. 练习编程:通过编写简单的汇编语言程序,可以加深对计算机组成原理的理解和掌握。 总之,自学计算机组成原理需要掌握一定的基础知识,并且需要付出较大的努力和耐心。可以通过网上的教程、书籍和视频等途径进行学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值