哈喽今天阿猪又和大家在计算机组成原理的第二章进行学习了,写这篇的原因是,上了一堂课老师在那叽里呱啦的讲了一天,我居然没听明白,所以就来自己梳理一下,事实证明我还是不适合网课好了接下来就正式进入学习啦
计算机中的数据数值
二进制:后缀B
八进制:后缀Q
十进制:后缀D或省略
十六进制:后缀H
一、数值数据的表示
真值:用+ -表示
机器数:用01表示
无符号数:整个机器无符号位
带符号数:1负0正
例子 | 原码 | 反码 | 补码 |
---|---|---|---|
正数 | +25 | 符号位不变数值位不变 | 符号位不变数值位不变 |
负数 | -25 | 符号位不变数值位改变 | 符号位不变数值微变反+1 |
正小数 | +0.25 | 小数位不变 | 不变 |
负小数 | -0.25 | 小数位取反 | 变反+1 |
定点表示与浮点表示
定点表示:小数点位置固定
定点小数 | 定点整数 | ||
---|---|---|---|
定义 | 小数点固定在最高有效数位之前,符号位之后 | 纯整数,小数点位置隐含固定在最低有效位之后 | |
原码定点范围 | -(1-2-n)~(1-2-n) | -(2n)~(2n-1) | |
补码定点范围 | -1~(1-2-n) | -2n~(2n-1) |
我的天上面2后面是指数因为要写指数形式要插入代码我太懒了望包涵
浮点表示: 小数点的位置根据需要而浮动,这就是浮点数。
例如:
N=M×rE
式中:r为浮点数阶码的底,与尾数的基数相同,通常r=2。E和M都是带符号数E叫做阶码,M叫做尾数。在大多数计算机中,尾数为纯小数,常用原码或补码表示;阶码为纯整数,常用移码或补码表示
浮点数阶码的移码表示法
移码就是在真值X上加一个常数(偏置值),相当于X在数轴上向正方向平移了一段距离**[X]移=偏置值+X**
对于字长8位的定点整数,偏置值为27.
例11:X=1011101
[X]移=27+X=10000000+1011101=11011101[X]补=01011101
例12:X=-1011101
[X]移=27+X=10000000-1011101=00100011[X]补=10100011
偏置值为“2”的移码的特点
(1)在移码中,最高位为“0”表示负数,最高位为“1”表示正数。
(2)移码为全0时,它所对应的真值最小,为全1时,它所对应的真值最大。
(3)真值0在移码中的表示形式是唯一的,即[+0]移=[-0]移=100…0。
(4)移码把真值映射到一个正数域,所以可将移码视为无符号数,直接按无符号数规则比较大小。
(5)同一数值的移码和补码除最高位相反外,其他各位相同。
规格化浮点数
尾数的真值为±0.1x…x形式。
如-1011.00101表示为规格化浮点数:
2100×(-0.101100101)
IEEE 754浮点数标准
32位浮点数:
31 30 23 22 O
S(1位) | E(8位) | M(23位) |
---|
其中S为尾符,E为阶码,M为尾数
64位浮点数:
63 62 52 5351
S(1位) | E(11位) | M(52位) |
---|
注意:
二、非数值数据表示
字符和字符串的表示
1.ASCII字符编码
常见的ASCII码用七位二进制表示一个字符,它包括10个十进制数字(0 到9)、52个英文大写和小写字母(AZ,az)、34个专用符号和32个控制符号,共计128个字符。通常用一个字节来存放一个字符。
2.字符串存放
字符串是指一串连续的字符,字符串的所有元素(字符)在物理上是邻接的这种存储方式为向量法
汉字的表示
1.国标码:汉字标准编码,每个汉字用2个字节表示。
2.机内码:国标码每个字节的最高位置1,易于区分中英文字符
3.输入码:用于输入汉字,分为音码、形码、数字码、混合码。
4.字形码:用于输出汉字。
三、校验码
用于解决数据在传输过程中出现的差错问题。
校验码=数据位+校验位
(1)检错码:如奇偶校验码
奇校验码:校验码中共有奇数个1
偶校验码:校验码中共有偶数个1
计算校验位:奇数个1异或为1,偶数个1异或为0
(2)纠错码:能够发现出错的具体位置,从而纠错。如海明码、CRC码。
本章小结
本章重点内容:
(1)数的机器表示:两种格式,四种编码
(2)定点运算方法和定点运算器组成原理
(3)浮点运算方法
注意:阿猪所有归纳都来源于《计算机组成原理》蒋本珊,和百度文库,以上内容是阿猪觉得本章重点内容,如有错误欢迎指出欢迎补充,喜欢的欢迎学习