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。
浮点数机内表示:

|