13.2 整数的编码-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
2023-06-12
|
17页
|
83人阅读
|
0人下载
精品
内容正文:
第13章 数字化信息编码
第13章 数字化信息编码
13.1 二进制
13.2 计算机的计算
13.3 整数的编码
13.4 计算机中整数的特点
13.5 小数的编码
13.6 字符的编码
13.7 八进制和十六进制
例13-4 分别用十进制和二进制计算下面各题。
1. 三万二千七百六十七加一
用十进制计算:
32767+1=32768
用二进制计算:
三万二千七百六十七用二进制表示为111 1111 1111 1111 (215=32768,1000 0000 0000 0000 - 1即可得三万二千七百六十七的二进制表示)
111 1111 1111 1111B+1B=1000 0000 0000 0000B
2. 负三万二千七百六十七加一
用十进制计算:
-32767+1=-32766
用二进制计算:
负三万二千七百六十七用二进制表示为-111 1111 1111 1111
-111 1111 1111 1111B+1B=-111 1111 1111 1110B
3. 零点六乘以二
用十进制计算:
0.6 × 2 = 1.2
用二进制计算:
零点六用二进制表示为0.1001……B(1001为循环节)
0.1001……B(1001为循环节)× 10B = 1.0011……B(0011为循环节)
不同进制的计算
由例13-4可知,用十进制计算与用二进制计算在理论上没有差别,但是由于进制的差异,在计算某些数据时,两者呈现出了不同的特点。
如当计算零点六乘以二时,十进制的结果表现为有限小数,而二进制的结果为无限小数。
13.2 计算机的计算
虽然计算时采用何种进制在理论上没有本质的区别,但不同进制的运算规则却差别极大。以乘法为例,十进制的运算规则类似于“乘法口诀”,而二进制的“乘法口诀”只有四句“1×1=1,1×0=0,0×0=0,0×1=0”。二进制的运算最简单,易于模拟。
计算机的计算只是“手工”计算的模拟。
二进制数1101 0011在计算机中的表示方式。
二进制只有0和1两种状态,很容易在物理上模拟,如用开关的接通和断开表示1和0。
计算机只能“存储”二进制串
一个类似的开关称为一位(bit),
八位被称作一个字节(Byte)。
通常用B表示字节,用b表示位。
如4B就是4个字节,32位(32b)。
计算机中有成千上万个类似的开关,因此,计算机可以“存储”大量以0和1组成的二进制串,而且它也只能“存储”二进制串。计算机中一个类似的开关称为一位(bit),八位被称作一个字节(Byte)。通常用B表示字节,用b表示位。如4B就是4个字节,32位(32b)。
计算机中如何“计算”,如怎样计算1+0呢?
在计算机中一个开关接通状态与另一个开关闭合的状态“相加”时结果将是一个开关接通状态,因此,计算机“计算”1+0的结果为1。
为了简便,约定计算机中模拟的二进制串用表格形式的二进制串表示,如图0-1所示计算机中的二进制数11010011将表示为:
例13-5 计算三万二千七百六十七加一
111 1111 1111 1111B
+1B
=1000 0000 0000 0000B
计算机中的数据有规定的长度,现设计算机中无论大小整数,长度均为16位。
例13-6 计算负三万二千七百六十七加一
-111 1111 1111 1111B
+1B
=-111 1111 1111 1110B
负号“-” 在计算机中无法直接模拟。
现实世界中的信息只有变成由0和1组成的“数串”后才能被计算机处理。
把现实世界中的信息变成由0和1组成的“数串”就是所谓的数字化信息编码。
结果1111 1111 1111 1110解码成二进制数为-111 1111 1111 1110,即-32766。
13.3 整数的编码
整数的编码似乎很简单,先将十进制整数转换成二进制整数,再加上表示负号的1,或表示正号的0。
计算机中用固定的长度存储整数,因此,整数编码时可能还需在正负号与数值位之间补0以“凑够”规定的位数。
这种编码又称原码。编码中的最高位称为符号位,其余的为数值位。原码中符号位表示数据的正负,数值位表示数据的绝对值。
最直接的编码并非最佳
采用这种编码时加法的运算规则比较复杂,计算机中即使模拟实现了,计算的效率也不会高。
反码
如果将编码规则改为:“正号编码为0,负号编码为1;为正数时其余的不变,为负数时1变为0,0变为1”,就得到了一种新的编码,即反码。
-32767
1的反码和原码相同
例13-7 假设计算机中使用反码编码整数,计算负三万二千七百六十七加一。
最终的计算结果也是反码。
解码时可先将反码表示的计算结果转换成原码,再改写为二进制形式,
即-111 1111 1111 1110,
也就是-32766。
计算规则也很复杂!
补码
现代计
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。