软考软件设计师证书考试笔记
Posted 山河已无恙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软考软件设计师证书考试笔记相关的知识,希望对你有一定的参考价值。
一、计算机的体系结构和主要部件
1.数据的表示(★★★★)
R进制转十进制
使用按权展开法
,其具体操作方式为:
将R进制数
的每一位数值用
R
k
R^k
Rk形式表示,即幂的底数是R,指数为k
, k
与该位和小数点之间
的距离有关。当该位位于小数点左边, k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该s位和小数点之间数码的个数加1。
$$
- 例如
十进制数
: 1234.56 = 1 × 1 0 3 + 2 × 1 0 2 + 3 × 1 0 1 + 4 × 1 0 0 + 5 × 1 0 − 1 + 6 x 1 0 − 2 1234.56=1\\times10^3+2\\times10^2+3\\times10^1+4\\times10^0+5\\times10^{-1}+6x10^{-2} 1234.56=1×103+2×102+3×101+4×100+5×10−1+6x10−2 - 例如
二进制数
: $ 10100.01 = 1 × 2 4 + 1 × 2 2 + 1 × 2 − 2 10100.01=1\\times2^4+1\\times2^2+1\\times2^{-2} 10100.01=1×24+1×22+1×2−2 - 例如
七进制数
: 604.01 = 6 × 7 2 + 4 × 7 0 + 1 × 7 − 2 604.01=6\\times7^2+4\\times7^0+1\\times7^{-2} 604.01=6×72+4×70+1×7−2
十进制转R进制
使用短除法
。
- 例如将94转换为二进制数:
- 二进制转八进制与十六进制数。
原码
:将最高位用做符号位(0表示正数, 1表示负数) ,其余各位代表数值本身的绝对值的表示形式。
反码
:正数
的反码与原码相同。负数
的反码符号位为1,其余各位为该数绝对值的原码按位取反。这个取反的过程使得这种编码称为"反码”。
补码
:正数的补码与原码相同
。负数的补码是该数的反码加1
,这个加1就是"补"。
移码
正数和负数都是都是补码符号位取反用于(浮点数解码)
数值1 | 数值-1 | 1-1 | ||
---|---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 1000 0010 | |
反码 | 0000 0001 | 1111 1110 | 1111 1111 | 负数符号位不变,数据位取反 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 | 补码进行数值计算,负数,反码+1 |
移码 | 1000 0001 | 0111 1111 | 1000 0000 | 都是补码符号位取反 |
数值的表示范围
二进制最值表示,以8位
为例,第一位符号位
{
最
值
01111111
11111111
最
值
+
1
=
2
8
−
1
00000001
10000001
M
i
n
∼
M
a
x
−
(
2
8
−
1
−
1
)
=
−
127
2
8
−
1
−
1
=
+
127
N
位
时
−
(
2
n
−
1
−
1
)
+
(
2
n
−
1
−
1
)
}
\\begin{Bmatrix} 最值 & 01111111& 11111111 \\\\ 最值 +1=2^{8-1} & 00000001&10000001 \\\\ Min\\sim Max&-(2^{8-1} - 1 )= -127 &2^{8-1} - 1=+127&\\\\ N位时&-(2^{n-1} - 1)&+(2^{n-1} - 1) \\end{Bmatrix}
⎩⎪⎪⎨⎪⎪⎧最值最值+1=28−1Min∼MaxN位时0111111100000001−(28−1−1)=−127−(2n−1−1)111111111000000128−1−1=+127+(2n−1−1)⎭⎪⎪⎬⎪⎪⎫
码制 | 定点整数 | 定点小数 | 表示数字数 |
---|---|---|---|
原码 | − ( 2 n − 1 − 1 ) ∼ + ( 2 n − 1 − 1 ) -(2^{n-1} - 1)\\sim +(2^{n-1}-1) −(2n−1−1)∼+(2n−1−1) | − ( 1 − 2 ) − ( n − 1 ) ∼ + ( 1 − 2 ) − ( n − 1 ) -(1-2)^{-(n-1)}\\sim+(1-2)^{-(n-1)} −(1−2)−(n−1)∼+(1−2)−(n−1) | 2 n − 1 2^n-1 2n−1 |
反码 | − ( 2 n − 1 − 1 ) ∼ + ( 2 n − 1 − 1 ) -(2^{n-1} - 1)\\sim +(2^{n-1}-1) −(2n−1−1)∼+(2n−1−1) | − ( 1 − 2 ) − ( n − 1 ) ∼ + ( 1 − 2 ) − ( n − 1 ) -(1-2)^{-(n-1)}\\sim+(1-2)^{-(n-1)} −(1−2)−(n−1)∼+(1−2)−(n−1) | 2 n − 1 2^n-1 2n−1 |
补码 | − 2 n − 1 ∼ + ( 2 n − 1 − 1 ) -2^{n-1}\\sim+(2^{n-1}-1) −2n−1∼+(2n−1−1) | − 1 ∼ + ( 1 − 2 − ( n − 1 ) ) -1 \\sim +(1-2^{-(n-1)}) −1∼+(1−2−(n−1)) | 2 n 2^n 2n |
移码 | − 2 n − 1 ∼ + ( 2 n − 1 − 1 ) -2^{n-1}\\sim+(2^{n-1}-1) −2n−1∼+(2n−1−1) | − 1 ∼ + ( 1 − 2 − ( n − 1 ) ) -1 \\sim +(1-2^{-(n-1)}) −1∼+(1−2−(n−1)) | 2 n 2^n 2n |
二进制 以上是关于软考软件设计师证书考试笔记的主要内容,如果未能解决你的问题,请参考以下文章原码反码
能够表示的数字个数
2
n
−
1
×
2
−