数据的表示与运算
Posted 生命是有光的
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据的表示与运算相关的知识,希望对你有一定的参考价值。
本笔记结合《2023王道计算机组成原理考研复习指导》食用🔥
王道考研计算机组成原理第二章数据的表示与运算
1、进位计数制
我们平常使用的都是十进制数,计算机能够识别的都是二进制数。
1.1、十进制计数法
宗旨:逢十进一
975.36
=
9
×
1
0
2
+
7
×
1
0
1
+
5
×
1
0
0
+
3
×
1
0
−
1
+
6
×
1
0
−
2
975.36 = 9×10^2+7×10^1+5×10^0+3×10^-1+6×10^-2
975.36=9×102+7×101+5×100+3×10−1+6×10−2
1.2、r进制计数法
基数:每个数码位所用到的不同符号的个数。例如十进制会用到 0、1、2、3…9总共10个符号,所以十进制的基数是10。则r进制的基数为r
进制 | 基数 |
---|---|
二进制 | 0、1 |
八进制 | 0、1、2、3、4、5、6、7 |
十进制 | 0、1、2、3、4、5、6、7、8、9 |
十六进制 | 0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15) |
1.2.1、任意进制转十进制
下面是不同进制转十进制的方式:
二进制
:
101.1
−
>
1
×
2
2
+
0
×
2
1
+
1
×
2
0
+
1
×
2
−
1
=
5.5
八进制
:
5.4
−
>
5
×
8
0
+
4
×
8
−
1
=
5.5
十进制
:
5.5
−
>
5
×
1
0
0
+
5
×
1
0
−
1
=
5.5
十六进制
:
5.8
−
>
5
×
1
6
0
+
8
×
1
6
−
1
=
5.5
二进制:101.1 \\quad -> 1×2^2+0×2^1+1×2^0+1×2^-1 = 5.5 \\\\ 八进制:5.4 \\quad -> 5×8^0+4×8^-1 = 5.5 \\\\ 十进制: 5.5 \\quad -> 5×10^0+5×10^-1 = 5.5 \\\\ 十六进制: 5.8 \\quad -> 5×16^0+8×16^-1 = 5.5
二进制:101.1−>1×22+0×21+1×20+1×2−1=5.5八进制:5.4−>5×80+4×8−1=5.5十进制:5.5−>5×100+5×10−1=5.5十六进制:5.8−>5×160+8×16−1=5.5
来看一下八进制相加:逢八进一 ,同理:十六进制相加:逢十六进一
八进制
:
5.4
+
0.4
=
6.0
八进制
:
5.4
+
1.4
=
7.0
十六进制
:
5.8
+
0.9
=
6.1
二进制
:
101.1
+
11.1
=
1001.0
八进制:5.4+0.4 = 6.0 \\\\ 八进制:5.4+1.4 = 7.0 \\\\ \\\\ 十六进制: 5.8+0.9 = 6.1 \\\\ 二进制: 101.1+11.1 = 1001.0 \\\\
八进制:5.4+0.4=6.0八进制:5.4+1.4=7.0十六进制:5.8+0.9=6.1二进制:101.1+11.1=1001.0
二进制是最适合计算机计算和存储的一种方式:
- 可以使用两个稳定状态的物理器件表示0、1。例如高低电平、电荷正负来表示0和1。
- 二进制0、1正好对应逻辑值的假、真,可以很方便实现逻辑运算。
- 可很方便地使用逻辑门电路实现算术运算(数电)
来再做一些练习:
二进制
:
10010010.110
=
>
十进制
:
1
×
2
7
+
1
×
2
4
+
1
×
2
1
+
1
×
2
−
1
+
1
×
2
−
2
=
146.75
二进制: 10010010.110 \\quad=> 十进制: 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
2^0 | 1 |
---|---|
2^1 | 2 |
2^2 | 4 |
2^3 | 8 |
2^4 | 16 |
2^5 | 32 |
2^6 | 64 |
2^7 | 128 |
2^8 | 256 |
2^9 | 512 |
2^10 | 1024 |
2^11 | 2048 |
2^12 | 4096 |
八进制 : 251.5 = > 2 × 8 2 + 5 × 8 1 + 1 × 8 0 + 5 × 8 − 1 = 168.625 八进制:251.5 \\quad => 2×8^2+5×8^1+1×8^0+5×8^-1 = 168.625 \\\\ 八进制:251.5=>2×82+5×81+1×80+5×8−1=168.625
1.2.2、二进制<=>八进制
二进制 => 八进制
- 3位一组,每组转换成对应的八进制符号。不足3位的补0即可
二进制
:
1111000010.01101
=
>
八进制
:
1702.32
二进制: 1111000010.01101 \\quad => 八进制:1702.32
二进制:1111000010.01101=>八进制:1702.32
001 = 1 × 2 0 = 1 111 = 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 7 000 = 0 010 = 1 × 2 1 = 2 也可以这么算 : 001 = 1 × 1 = 1 111 = 1 × 1 + 1 × 2 + 1 × 4 = 7 010 = 1 × 2 = 2 001 = 1×2^0 = 1 \\\\ 111 = 1×2^2+1×2^1+1×2^0 = 7 \\\\ 000 = 0 \\\\ 010 = 1×2^1 = 2 \\\\ \\\\ 也可以这么算: \\\\ 001 = 1×1 = 1 \\\\ 111 = 1×1+1×2+1×4 = 7 \\\\ 010 = 1×2 = 2 001=1×20=1111=1×22+1×21+1×20=7000=0010=1×21=2也可以这么算:001=1×1=1111=1×1+1×2+1×4=7010=1×2=2
八进制 => 二进制
- 每位八进制对应3位二进制
八进制
:
(
251.5
)
8
=
>
二进制
:
010101001.101
2
=
>
010
5
=
>
101
1
=
>
001
八进制: (251.5)_8 \\quad => 二进制: 010 101 001.101 \\\\ 2 => 010 \\\\ 5 => 101 \\\\ 1 => 001 \\\\
八进制 以上是关于数据的表示与运算的主要内容,如果未能解决你的问题,请参考以下文章