数据的表示与运算

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×101+6×102

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×21=5.5八进制:5.4>5×80+4×81=5.5十进制:5.5>5×100+5×101=5.5十六进制:5.8>5×160+8×161=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
二进制是最适合计算机计算和存储的一种方式:

  1. 可以使用两个稳定状态的物理器件表示0、1。例如高低电平、电荷正负来表示0和1。
  2. 二进制0、1正好对应逻辑值的假、真,可以很方便实现逻辑运算。
  3. 可很方便地使用逻辑门电路实现算术运算(数电)

来再做一些练习:
二进制 : 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×21+1×22=146.75

2^01
2^12
2^24
2^38
2^416
2^532
2^664
2^7128
2^8256
2^9512
2^101024
2^112048
2^124096

八进制 : 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×81=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 \\\\ 八进制以上是关于数据的表示与运算的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理基础知识-运算方法

关于IEEE754标准浮点数阶码的移码

数据的表示和运算

数据的表示与运算

组成原理-数据浮点数的编码与运算

csharp 使用逻辑运算符表示真值表的示例。