(计算机组成原理)第二章数据的表示和运算-第一节:一文总结进制转换,妈妈再也不用担心我不会进制转换了
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(计算机组成原理)第二章数据的表示和运算-第一节:一文总结进制转换,妈妈再也不用担心我不会进制转换了相关的知识,希望对你有一定的参考价值。
一:进位计数法
进位计数法是一种计数的方法。常用的有十进制、二进制、八进制和十六进制等。日常生活中最常使用的就是十进制,其余则主要是计算机使用
在进行计数法中,每个数所用到的不同数码的个数称为基数。比如十进制的基数为0~9,每个数位计满10就向高位进位。
每个数码所表示的数值等于该数码1本身乘以一个与它所在数位有关的常数,这个常数称为位权。一个进位数的数值大小就是它的各位数码按权相加
一个r进制数(
K
n
K
n
−
1
.
.
.
K
n
K
−
1
.
.
.
K
−
m
K_{n}K_{n-1}...K_{n}K_{-1}...K_{-m}
KnKn−1...KnK−1...K−m)的数值可以表示为
K
n
r
n
+
K
n
−
1
r
n
−
1
+
.
.
.
K
0
r
0
+
K
−
1
r
−
1
+
.
.
.
+
K
−
m
r
−
m
=
∑
i
=
n
−
m
K
i
r
i
K_{n}r^{n}+K_{n-1}r^{n-1}+...K_{0}r^{0}+K_{-1}r^{-1}+...+K_{-m}r^{-m}=\\sum_{i=n}^{-m}K_{i}r^{i}
Knrn+Kn−1rn−1+...K0r0+K−1r−1+...+K−mr−m=∑i=n−mKiri
- 十进制:例如975,
975.36
=
9
×
100
+
7
×
10
+
5
×
1
+
3
×
0.1
+
6
×
0.01
975.36=9×100+7×10+5×1+3×0.1+6×0.01
975.36=9×100+7×10+5×1+3×0.1+6×0.01
,也即 975 = 9 × 1 0 2 + 7 × 1 0 1 + 5 × 1 0 0 + 3 × 1 0 − 1 + 6 × 1 0 − 2 975=9×10^{2}+7×10^{1}+5×10^{0}+3×10^{-1}+6×10^{-2} 975=9×102+7×101+5×100+3×10−1+6×10−2 - 二进制:只有0和1两种数字符号,“逢2进1”,其任意数位的权为 2 i 2^{i} 2i, i i i为所在位数
- 八进制:八进制作为二进制的一种书写形式,其基数是8,有0~7共8个不同的数字符号,“逢8进1”。由于 r = 8 = 2 3 r=8=2^{3} r=8=23,所以只要把二进制的3位数码编为一组就是一位八进制编码
- 十六进制:其基数为16,“逢16进1”,其中A、B、C、D、E、F分别表示10、11、12、13、14、15.由于 r = 16 = 2 4 r=16=2^{4} r=16=24,所以4位二进制数码与1位十六进制数码相对应
在计算机内部,所有信息都是采用二进制编码的,原因如下
- 二进制只有两种状态,使用有两个稳定状态的武器器件就可以表示二进制数的每一位,制造成本较低。比如经常使用到的就是利用高低电平和电荷正负表示0和1
- 二进制的1和0正好与逻辑值真和假相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件
- 二进制的编码和运算规则很简单,通过逻辑门电路可以方便地实现算数运算
二:进制转换
(1)其他进制数转换为十进制
其他进制数转化为十进制较为简单,只需代入下面的公式即可
K
n
r
n
+
K
n
−
1
r
n
−
1
+
.
.
.
K
0
r
0
+
K
−
1
r
−
1
+
.
.
.
+
K
−
m
r
−
m
=
∑
i
=
n
−
m
K
i
r
i
K_{n}r^{n}+K_{n-1}r^{n-1}+...K_{0}r^{0}+K_{-1}r^{-1}+...+K_{-m}r^{-m}=\\sum_{i=n}^{-m}K_{i}r^{i}
Knrn+Kn−1rn−1+...K0r0+K−1r−1+...+K−mr−m=∑i=n−mKiri
比如要把一个二进制数转为十进制数,那么上式中的 r r r就设为2, 然后用二进制数的每一位乘以 r n r^{n} rn,这个n表示的是位权,小数点左侧从右向左由0递增,小数点右侧从左至右由-1递减
- 二进制数10010010.100转化为十进制数: 10010010.110 = 1 × 2 7 + 1 × 2 4 + 1 × 2 1 + 1 × 2 − 1 + 1 × 2 − 2 = 146.75 10010010.110=1×2^{7}+1×2^{4}+1×2^{1}+1×2^{-1}+1×2^{-2}=146.75 10010010.110=1×27+1×24+1×21+1×2−1+1×2−2=146.75
- 八进制数251.5转化为十进制数: 251.5 = 2 × 8 2 + 5 × 8 1 + 1 × 8 0 + 5 × 8 − 1 251.5=2×8^{2}+5×8^{1}+1×8^{0}+5×8^{-1} 251.5=2×82+5×81+1×80+5×8−1
- 十六进制数AE86.1转化为十进制数:
A
E
86.1
=
10
×
1
6
3
+
14
×
1
6
2
+
8
×
1
6
1
+
6
×
1
6
0
+
1
×
1
6
−
1
=
44678.0625
AE86.1=10×16^{3}+14×16^{2}+8×16^{1}+6×16^{0}+1×16^{-1}=44678.0625
AE86.1=10×163+14×162以上是关于(计算机组成原理)第二章数据的表示和运算-第一节:一文总结进制转换,妈妈再也不用担心我不会进制转换了的主要内容,如果未能解决你的问题,请参考以下文章
(计算机组成原理)第二章数据的表示和运算-第一节:字符与字符串在计算机中的表示详解
(计算机组成原理)第二章数据的表示和运算-第一节:一文总结进制转换,妈妈再也不用担心我不会进制转换了
(计算机组成原理)第二章数据的表示和运算-第三节1:浮点数的表示