【计组】第二章 数据信息的表示

(胡科大教书匠版)

笔记原链接

2-1 数据表示的相关基本概念

无符号数 有符号数(定点整数、定点小数、单精度浮点数、双精度浮点数)

2-2 进位计数制及其数据之间的相互转换

各进制数的按权展开式

各进制数进位特点

任意进制转化为十进制(按权展开)

二进制转八、十六进制

将二进制按三个一组或四个一组分别与八、十六进制数对应即可

八进制与十六进制互转

十进制转任意进制(除基取余,乘基取整)

整数部分:除基取余(第一个结果是最低位)

小数部分: 乘基取整(第一个结果是最高位)

精度缺失保留指定精度即可

转换关系总结

2-3-1 定点数的编码

原码(带符号的绝对值表示)

真值0在原码中有两种不同表示(正0与负0)

原码优点: 表示方法简单直观

原码缺点:真值0在原码中有两种不同表示(正0与负0);符号位不能直接参与运算

原码在计算机中仅仅用于表示浮点数的尾码

小结

补码

补数的概念

超出计量范围的数都应该自动舍弃模数

补数的意义: 将减法运算用加法实现,符号位也可以直接参与运算

定点整数补码的定义

定点小数补码的定义

反码

移码


移码与补码仅符号位相反

四种机器码之间的转换

习题

原码有两种表示用同一个数

2-4-1 浮点数的表示形式和表示范围

定点数

浮点数

习题

浮点数的规格化

习题

IEEE 754浮点数标准

IEEE 754浮点数表示范围

习题

C语言中的数据类型及转换

计算机中的数据类型

C语言中整型变量的取值范围

C语言中数据类型转换

习题

不同长度数据类型转化

float->double

double->float

float/double->int

int->float

int->double

总结

### 计算机组成原理第二章知识点总结 #### 1. 数据类型 数据可以分为多种类型,主要包括整型、实型以及字符型等。不同类型的数据在存储和处理方式上存在差异。 #### 2. 数据与文字的表示方法 ##### 2.1 数据格式 数据格式主要分为定点数和浮点数两种形式[^2]。 - **定点数**:用于表示整数或纯小数,其特点是小数点位置固定不变。 - **浮点数**:由阶码和尾数组成,能够灵活地表示非常大或者非常小的数值。 ##### 2.2 数的机器码表示 为了适应计算机内部的操作需求,实际使用的并不是十进制数而是二进制编码形式下的各种机器码。 - **原码**:最高位作为符号位,“0”代表正数,“1”代表负数;其余部分为该数绝对值对应的二进制形式。 - **补码**:对于正数而言,它的补码就是它本身;而对于负数,则需先求反再加一得到最终结果。 - **移码**:主要用于表示指数,在某些情况下会将偏置量加入到真正的数值当中以便于比较大小关系。 ##### 2.3 字符与字符串的表示方法 ASCII 是最常用的字符集之一,通过特定规则赋予每一个可打印字符唯一的编号来实现数字化表达。 ##### 2.4 校验码 校验码是为了提高通信质量而设计的一种错误检测机制。 - **奇偶校验码**:简单有效但功能有限,仅能发现单比特差错无法定位具体发生在哪里。 - **海明校验码**:更加复杂精确,不仅可以查找出多个随机分布的位置还能纠正其中一部分错误情况。 #### 3. 定点运算 ##### 3.1 加法、减法运算 利用补码来进行加减操作是最普遍的做法因为这样可以统一硬件电路结构简化设计过程。 - **补码加法**:两个同号数相加时如果超出范围则会产生溢出现象需要注意判断处理。 - **补码减法**:实质上也是转化为相应的加法规则执行即可完成整个流程。 ##### 3.2 溢出概念与检测方法 当参与运算的结果超过了当前所设定字长所能容纳的最大限度就会引发所谓的“溢出”。一般有两种基本策略用来识别是否存在这种情况: - 双符号位技术; - 单符号位配合辅助标志位共同作用分析得出结论。 ##### 3.3 定点乘法运算 串行乘法是一种基础算法模型特别适用于早期资源受限环境之中。 - **原码乘法**:把每一位分别考虑并与另一个因子逐次累加直至结束为止最后再加上适当调整后的符号信息形成完整的产物输出。 ```python def multiply(a, b): sign = (a ^ b) & 0x80000000 a_abs = abs(a) b_abs = abs(b) result = 0 while b_abs != 0: if b_abs & 1: result += a_abs a_abs <<= 1 b_abs >>= 1 return -(result | sign) if sign else result ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值