2003年程序员考试日记————上午题(二)
(9月13日)
一、计算机硬件基础知识:
1.计算机系统概述
(1)1946年,宾夕法尼亚大学的ENIAC(electronic numerical intergrator and computer)
(2)第一代,1946年-50年代后期,电子管计算机;
第二代,20世纪50年代后期-60年代中期,晶体管计算机;
第三代,20世纪60年代中期-70年代初,集成电路计算机;
第四代,20世纪70年代-70年代后期,大规模集成电路计算机。
(3)冯.诺伊曼
主
←→
ALU
←→
I/O设备
↑
↓
存
←→
PCU
ISA 计算机结构
主存(main memory)存放数据和程序;
算术逻辑元算单元ALU(arithmetic logical unit)完成二进制算术和逻辑元算;
程序控制单元PCU(program control unit)负责解释和执行指令;
I/O(input/output)设备由PCU控制实现和外部环境和数据交换。
(4)计算机系统层次结构
第4层
高级语言机器
|
第3层
汇编语言机器
|
第2层
操作系统语言机器
|
第1层
物理机器(机器语言机器)
2.数据的计算机表示
(1)数制
①有基数r(radix)和x个不同的数码(symbol)组成的r进制。
N=(RnRn-1...R1R0R-1...R-m)r=Rn*rn+Rn-1*rn-1+...+R1*r+R0+...+R-m*r-m;
②十进制化为r进制(分开计算):
整数部分-----除r取余;
小数部分-----乘r取整;
③二/八/十六进制相互转换:
以二进制为桥梁互化。
八进制
1位化3位
二进制
4位合1位
十六进制
←――→
←――→
3位合1位
1位化4位
④如果一个分数的分母为2的整数次幂,化二进制时,可以将分子写成二进制乘上分母的二进制(2-n).
(2)数制数据的表示方法:(表示数量的数制数据和非数制性的符号数据)
①符号位的处理:0:-,1:+;
②原码:
→
X
0≤X<1
[X]原
{
→
1-X
-1<X≤0
[+0]原=0.0000,[-0]原=1.0000;
③补码:
→
X
0≤X<1
[X]补
{
→
2+X
-1<X≤0
[+0]补=0.0000,[-0]补=0.0000;
④反码:
→
X
0≤X<1
[X]补
{
→
2-2-n+X
-1<X≤0
[+0]=0.0000,[-0]=1.1111;
⑤海明码的概念:
海明码是一种可以纠正一位差错的编码。它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。它必需满足以下关系式:
2r>=n+1 或 2r>=k+r+1
海明码的编码效率为:
R=k/(k+r)
式中 k为信息位位数
r为增加冗余位位数
(海明码的基本思想:将待传信息码元分成许多长度k的组,其后附加r个监督码元(也称校验比特),构成长为n=k+r比特的分组码。分组码中每个校验比特和某几个特定的信息比特构成偶检验关系。校验比特数r必须满足:2r>=n+1,即2r>=k+r+1.)
⑥格雷码:
是一种无权码,它有多种形式,但共同特点是:任何两个相邻的十进制数的格雷码仅有一位不同。
⑦8421码:
一种常见的二-十进制有权码,4位二进制从高位至低位每位的权分别是23、22、21、20
⑧5421码和2421码:
都是二-十进制有权码,第一个4位二进制从高位至低位每位的权分别是5、4、2、1,第二个4位二进制从高位至低位每位的权分别是2、4、2、4。
⑨余三码:
一种无权码,十进制数用余三码表示,要比8421码在二进制数制上夺3,故称余三码,它可由8421码加0011得到。
⑩定点数和浮点数:
定点数是指小数点固定在某个位置上的数据,一般有小数和整数两种表示形式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;整数是把小数点固定在数据数值部分的右边。
浮点数是指小数点位置可浮动的数据,通常以下时表示:
N=M.RE
其中,N为浮点数,M(mantissa)为尾数,E(exponent)为阶码,R(radix)称为“阶的基数”,为一常数,一般是2、8、16。
浮点数机内表示:
Ms
E
M
1位
n+1位
m位