210 likes | 421 Views
计算机导论 ( 第三版 ) ---- 计算机软件. 第4章 计算机运算与编码基础. 4.1 进位计数制及其运算 4.2 数值在计算机中的表示 4.3 信息编码. 4.1 进位计数制及其运算. 4.1.1 进位计数制及其转换. 1. 基数( Radix) 不同的计数制是以基数 r 来区分的: r=10 为十进制,可使用0,1, … ,9共10个数符; r=2 为二进制,可使用0,1共2个数符; r=8 为八进制,可使用0,1,2, … ,7共8个数符;
E N D
计算机导论(第三版) ----计算机软件
第4章 计算机运算与编码基础 4.1 进位计数制及其运算 4.2 数值在计算机中的表示 4.3 信息编码
4.1 进位计数制及其运算 4.1.1 进位计数制及其转换 1. 基数(Radix) 不同的计数制是以基数r来区分的: • r=10 为十进制,可使用0,1,…,9共10个数符; • r=2 为二进制,可使用0,1共2个数符; • r=8 为八进制,可使用0,1,2,…,7共8个数符; • r=16 为十六进制,可使用0,1,2,…,9,A,B,C,D,E,F共16个数符。
2. 二进制数 计算机内部是一个二进制数字世界,只有两个数符即0和1。采用二进制表示信息有以下几个优点: (1) 易于物理实现 (2) 二进制数运算简单 (3) 机器可靠性高 (4) 通用性强 二进制运用于数值信息编码,适用于各种非数值信息的数字化编码。特别是仅有的两个符号0和1正好与逻辑命题的两个值“真”与“假”相对应.
3. r进制转换为十进制 对于任意的r进制数,可以用以下的展开和式 其中r为基数,整数为n+1位,小数为m位。 例: 分别把(1101.01)2,(237.4)8,(A5.C)16转换为十进制数。 解: 分别按以上展开和式得
4. 十进制整数转换为r进制数 十进制整数t转换为r进制整数: 转换规则为除r取余法: 由r进制整数按位展开公式的以下变形式 t除以r,商为整数 ,余数为 ,余数为 所得商再除以r,商为数 依此类推,直至商为0,余数为
例:求 13=( )2 解: 实施除2取余 商 余数 13/2=6 1 (低) 6/2 =3 0 3/2 =1 1 1/2 =0(结束) 1 (高) 十进制数13转换为二进制数的结果为13=(1101)2
5. 十进制小数t转换为r进制小数 十进制小数t转换为r进制小数: 。 转换规则为乘r取整法: 由r进制小数按位展开公式的以下变形式 t乘r,得整数部分为 ,小数部分为 ; 小数部分再乘r,得整数部分为 ,小数部分为 ; 依此类推,直至小数部分为0,此时整数部分为 ,转换完成。
例:求 解: 对小数反复实施乘2取整,直到小数部分为零时止。 转换后的结果为:
6. 八进制转换为二进制 八进制转换为二进制: 根据下表将每位八进制数码展开为3位二进制数码。 表4-1二进制与八进制转换表 例求(30.14)8 = ()2 (30.14)8 = 011000 . 001100 3 0 1 4 = (11000.0011)2
7. 十六进制转换为二进制 十六进制转换为二进制: 根据下表将每位十六进制数码展开为4位二进制数码。 表4-2二进制与十六进制转换表 例:求 解: = 011100001100 . 1010 7 0 C A = (11100001100.101)2
8. 二进制转换为八进制与十六进制 • 注意到,因而二进制转换为八进制与十六进制有以下简明的转换规则: • 二进制转换为八进制数的转换规则:以小数点为中心,分别向左、向右每三位分成一组,首尾组不足三位时首尾用“0 ”补足,将每组二进制数根据表4-1转换成一位八进制数码。 • 二进制转换为十六进制数的转换规则:以小数点为中心,分别向左、向右每四位分成一组,首尾组不足四位时首尾用“0 ”补足,将每组二进制数根据表4-2转换成一位十六进制数。 返回本节
4.1.2 二进制数的运算 • 二进制数的算术运算 二进制数的加减乘除算术运算法则与十进制基本相同,唯一的区别在于二进制是逢“二”进位(或借位)。 加法运算:0+0=0;1+0=0+1=1;1+1=10(向高位进1) 减法运算:0-0=1-1=0;1-0=1;0-1=-1 (需借位) 乘法运算:0*0=0*1=1*0=0;1*1=1。 除法运算:0/1=0;1/1=1。(0不能作除数)
2. 二进制数的逻辑运算 (1) 逻辑数据的表示 二进制的数码只有0与1,通常用1表示真(Ture),用0表示假(False)。 (2) 逻辑运算 逻辑运算的基本运算有:与、或、非。 1) 逻辑与运算规则: 2) 逻辑或运算规则: 3) 逻辑非运算(NOT)是操作对象进行取反操作,逻辑非运算规则:
4.2 数值在计算机中的表示 4.2.1 数值型数据的特点 (1) 数的长度 计算机中同一类型的数据具有相同的数据长度,与数据的实际长度无关。 (2) 数的符号 用数的最高位(左边第一位)来表示数的正负号,并约定以“0”表示正,以“1”表示负。 (3) 小数点的表示方法 在计算机中表示数值小数点的位置总是隐含的,即约定小数点的位置。
4.2.2 数的定点表示与浮点表示 1.定点数表示方法 ① 定点整数 小数点的位置约定在最低数值位的后面,如下图所示。 例如, 假设定点整数占8位,则数值83存放的形式如下: ② 定点小数 小数点的位置约定在数符位和数值部分的最高位之间。 例如,假设2个字节,则十进制小数0.6876定点数表示的形式下: ↑• ←小数点位置 数值部分 数符
2. 浮点数表示方法 浮点数的思想来源于数学中的指数表示形式:例如,十进制数 可以表示为 (1) 浮点表示法中的尾数与阶码 对于一个R进制数,则 。M与C分别称为浮点数的尾数与阶码。 (2) 浮点数的表示形式 任意二进制规格化浮点数表示形式为 其中纯小数d为尾数,整数p为阶码,d与p都带符号。存储形式如下: 例如, 在机内的表示形式如下:
4.2.3 原码、反码与补码 1. 原码: 用最高位表示数值的符号,其后各位表示该数值的绝对值的表示法称为原码表示法。其中符号位为0时表示该数值为正,符号位为1时表示该数值为负。 例:[+1000110]原 = 01000110, [-1000110]原 = 11000110 2. 反码: 对于正数,反码与原码相同;对于负数,反码保持原码的符号位不变,而其他各位取反。 例:[+1000110]反 = 01000110, [-1000110]反 = 10111001 3. 补码: 对于正数,补码与原码相同;对于负数,补码保持原码的符号位不变,而其他各位取反,然后在最低位加上1。即负数的补码为它的反码加1。 例:[-117]反 = 10001010,加“1”得[-117]补 = 10001011
4.3 信息编码 4.3.1 字符的ASCII码 在计算机中,字符的编码通常用ASCII码“美国标准信息交换码”。 (1)每个字符的二进制编码为7位,故共含2^7=128种不同 字符的编码。 (2)表内有33种控制码,位于表的左首两列和右下角位置上。 (3)其余95个字符为可打印或可显示字符,包括英文大小写字母共52个,0~9的数字共10个和 其他标点符号、运算符号等共33个。 (4)通常一个ASCII码占用一个字节(即8个bit),其最高位为“0”。
4.3.2 汉字的编码 (1)汉字国标码: 为我国颁布的《信息交换用汉字编码字符集·基本集》。它共包含6763个常用汉字,以及英、俄、日文字母及其符号共687个。 (2)汉字机内码: 注意到ASCII码的机内码的最高位为“0”,为与之相区别,将国标码的两个字节的最高位均改为“1”。 (3)汉字输入码:最常见的有各种“音码”和“形码”。 (4)汉字字形码: 汉字字形码又称为汉字字模,用于在显示器上或打印机上输出汉字的字形。 (5)各种编码的关系 → 输入码→国标码→机内码→地址码→字形码→ 汉字输入 汉字输出
4.3.6 多媒体信息处理 • 多媒体技术对各种媒体信息的处理包括转换、集成、传输管理和控制。 • 声音信号用数字0与1表示,称之为数字音频 。存储声音信息的文件格式主要有:WAV文件、VOC文件、MIDI文件、RMI文件等。 • 视觉类媒体有图像、图形、视频、动画、文本等。图形文件可分为两大类:位图和矢量图。常见的视频文件有:AVI文件,DAT文件,MPG文件。