已阅读5页,还剩94页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机原理与接口技术 黄勋 学习本门课程的必要性本门课程的主要内容学习方法 1 1进位计数制1 2二进制数的运算1 3带符号数的表示方法1 4定点数与浮点数1 5BCD码和ASCII码 1预备知识 数制与码制 数的本质和物理现象 用 0 和 1 来代替这两种状态 规定亮为 1 不亮为 0 3盏灯的情况 000001010011100101110111 位 一盏灯亮或者说一根线的电平的高低 可以代表两种状态 0和1 把一根线称之为一 位 用BIT表示 一根线 0和1 两根线 0 3 三根 0 7 字节BYTE 计算机中通常用8根线放在一起可以表过到0 255这8根线或者8位就称之为一个字节 1 1进位计数制及各计数制间的转换 数制人们对事物数量计数的一种统计规律十进制二进制八进制数十六进制数 1 1 1进位计数制每一种进位计数应包含两个基本的因素 1 基数R Radix 二进制计数中用到0和1两个数码 八进制计数中用到0 7共八个数码 基数为R的计数制 简称R进制 0 1 R 1个数码进位规律为 逢R进1 2 位权W Weight 各位的位权是以R为底的幂 十进制数基数R 10 个位 十位 百位上的位权分别 100101102 一个R进制数N 两种形式表示 1 并列表示法 或称位置计数法 N R Kn 1Kn 2 K1K0K 1K 2 K m R 2 多项式表示法 或称以权展开式 N R Kn 1Rn 1 Kn 2Rn 2 K1R1 K0R0 K 1R 1 K mR m 其中 m n为正整数n代表整数部分的位数 m代表小数部分的位数 Ki代表R进制中的任一个数码 0 Ki R 1 二进制数R 2 Ki取0或1 进位规律为 逢2进1 N 2 Kn 12n 1 Kn 22n 2 K121 K020 1 1 K m2 m例如 1001 101 2 1 23 0 22 0 21 1 20 1 2 1 0 2 2 八进制数R 8 Ki0 7 进位规律为 逢8进1 N 8 Kn 18n 1 Kn 28n 2 K181 K080 K 18 1 K m8 m 246 12 8 2 82 4 81 6 80 1 8 1 2 8 2 十六进制数 16 0 15 10 15分别用A B C D E F表示 进位规律为 逢16进1 N 16 Kn 116n 1 Kn 216n 2 K1161 K0160 K 116 1 K m16 m 2D07 A 16 2 163 13 162 0 161 7 160 10 16 1 二 八 十 十六进制数码对应表 为了与变量区别 对于十六进制 最高位为10 15时 前面都应加0 1 1 2各种进制数间的相互转换将数1001 101B 246 12Q 2D07 AH转换为十进制数 1001 101B 1 23 0 22 0 21 1 20 1 21 0 2 2 1 2 3 8 1 0 5 0 125 9 625 246 12Q 2 82 4 81 6 80 1 8 1 2 8 2 128 32 6 0 125 0 03125 166 156252D07 AH 2 163 13 162 0 161 7 160 10 16 1 8192 3328 7 0 625 11527 625 十进制数转换为二 八 十六进制数 整数部分 25 10 Kn 12n 1 Kn 22n 2 K121 K02025 2 Kn 12n 2 Kn 22n 3 K120 K0 2得K0 1 12 Kn 12n 2 Kn 22n 3 K12012 2 Kn 12n 3 Kn 22n 4 K220 K1 2得K1 0继续采用上述方法可得 25 10 11001 2 整数部分转换步骤 第1步 用R去除N的整数部分 得到商和余数 记余数为R进制整数的最低位数码K0 第2步 再用R去除得到的商 求出新的商和余数 余数又作为R进制整数的次低位数码K1 第3步 再用R去除得到的新商 再求出相应的商和余数 余数作为R进制整数的下一位数码Ki 第4步 重复第3步 直至商为零 整数转换结束 此时 余数作为转换后R进制整数的最高位数码Kn 1 2 1682 84余数0 K0 02 42余数0 K1 02 21余数0 K2 02 10余数1 K3 12 5余数0 K4 02 2余数1 K5 12 1余数0 K6 00余数1 K7 1 168 10101000B 8 1688 21余数0 K0 08 2余数5K1 50余数2 K2 2168 250Q16 16816 10余数8 K0 80余数10 K1 A168 A8H 小数部分转换原理 0 6875 10 K 12 1 K 22 2 K m2 m1 3750 K 1 K 22 1 K m2 m 1得 K 1 1 0 3750 K 22 1 K m2 m 10 75 K 2 K 32 1 K m2 m 2得 K 2 0继续上述过程可得 0 6875 10 0 1011 2 小数部分转换步骤第1步 用R去乘N的纯小数部分 记下乘积的整数部分 作为R进制小数的第1个数码K 1 第2步 再用R去乘上次积的纯小数部分 得到新乘积的整数部分 记为R进制小数的次位数码K i 第3步 重复第2步 直至乘积的小数部分为零 或者达到所需要的精度位数为止 此时 乘积的整数位作为R进制小数位的数码K m 例 将0 686转换成二 八 十六进制数 用小数点后5位表示 0 686 2 1 372K 1 10 372 2 0 744K 2 00 744 2 1 488K 3 10 488 2 0 976K 4 00 976 2 1 952K 5 10 686 0 10101B 0 686 8 5 488K 1 50 488 8 3 904K 2 30 904 8 7 232K 3 70 232 8 1 856K 4 10 856 8 6 848K 5 60 686 0 53716Q 0 686 16 10 976K 1 A0 976 16 15 616K 2 F0 616 16 9 856K 3 90 856 16 13 696K 4 D0 696 16 11 136K 5 B0 686 0 AF9DBH 例 将168 686转换为二 八 十六进制数 168 686 10101000 10101B168 686 250 53716Q168 686 A8 AF9DBH 二进制数与八进制数之间的相互转换 Kn 12n 1 Kn 22n 2 K121 K020 bm 18m 1 bm 28m 2 b181 b080K222 K121 K020 b080K525 K424 K323 K522 K421 K320 81 b181 二进制数与八进制数之间的相互转换例 将1111011 0101B转换为八进制数 解 根据 合3为1 和不足3位以0补足的原则 将此二进制数书写为 001111011 010100173 241111011 0101B 173 24Q 例 将1357 246Q转换成二进制数 根据 1分为3 的原则 可将该八进制数书写为 1357 2 6001011101111 0101001101357 246Q 1011101111 01010011B 二进制数与十六进制数之间的相互转换例 将1101000101011 001111B转换成十六进制数 根据 合4为1 的原则 可将该二进制数书写为 0001101000101011 001111001A2B 3C1101000101011 001111B 1A2B 3CH 例 将4D5E 6FH转换成二进制数 根据 1分为4 的原则 可将该十六进制数书写为 4D5E 6F0100110101011110 011011114D5E 6FH 100110101011110 01101111B 1 2二进制数的运算 1 2 1二进制数的算术运算加 减法遵循 逢2进1 借1当2 的原则 二进制加法1位二进制数的加法规则为 0 0 00 1 11 0 11 1 0向邻近高位有进位1 1 1 1向邻近高位有进位 例 求11001010B 11101B 被加数11001010加数11101进位 00110000和11100111则11001010B 11101B 11100111B 每1位有3个数参与运算 本位被加数 加数 低位进位 得到本位和以及向高位的进位 二进制减法1位二进制数减法规则为 1 0 11 1 00 0 00 1 1 有借位 例 求10101010B 10101B 解 被减数10101010减数10101借位 00101010差10010101则10101010B 10101B 10010101B 二进制乘法1位二进制乘法规则为 0 0 00 1 01 0 01 1 1 例 求110011B 1011B 解 被乘数110011乘数 1011110011110011000000 110011积1000110001 显然 这种算法计算机实现时很不方便 对于没有乘法指令的微型计算机来说 常采用比较 相加 与部分积右移相结合的方法进行编程来实现乘法运算 二进制除法例求100100B 101B 解00011110110010010110001011101011 则100100B 101B 111B 余1B 二进制数除法是二进制数乘法的逆运算 在没有除法指令的微型计算机中 常采用比较 相减 余数左移相结合的方法进行编程来实现除法运算 由于MCS 51系列单片机指令系统中包含有加 减 乘 除指令 因此给用户编程带来了许多方便 同时也提高了机器的运算效率 1 2 2二进制数的逻辑运算 与 运算 AND 运算符为 或 0 0 00 1 1 0 01 1 1例若二进制数X 10101111B Y 01011110B 求X Y 10101111 0101111000001110则X Y 00001110B 或 运算 OR 运算符为 或 0 0 00 1 1 0 11 1 1例若二进制数X 10101111B Y 01011110B 求X Y 10101111 0101111011111111则X Y 11111111B 非 运算 NOT 如变量A的 非 运算记作 非 运算的规则如下 例 若二进制数A 10101111B 求 01010000B 异或 运算 XOR 异或 运算的运算符为 0 0 1 1 01 0 0 1 1例8 若二进制数X 10101111B Y 01011110B 求X Y 10101111 0101111011110001则X Y 11110001B D7D6D5D4D3D2D1D0 符号 数值部分 在计算机中一种数的表示方法 即机器中的全部有效位均用来表示数的大小 此时无符号位 这种表示方法称为无符号数的表示方法 1 3 1机器数与真值单片机用来表示数的形式称为机器数 也称为机器码 而把对应于该机器数的算术值称为真值 1 3带符号数的表示方法 原码 反码 补码 在计算机中通常把一个二进制数的最高位作为符号位 以表示数值的正与负 并用0表示 用1表示 例 N1 1011 N2 1011在计算机中用8位二进制数可分别表示为 D7D6D5D4D3D2D1D0 符号 数值部分 1 3 2原码 补码与反码原码正数的符号位用0表示 负数的符号位用1表示 数值部分用真值的绝对值来表示的二进制机器数称之为原码 用 X 原表示 1 正数的原码 若真值为正数X Kn 2Kn 3 K1K0则 X 原 0Kn 2Kn 3 K1K02 负数的原码 若真值为负数X Kn 2Kn 3 K1K0则 X 原 1Kn 2Kn 3 K1K0 2n 1 Kn 2Kn 3 K1K0 2n 1 Kn 2Kn 3 K1K0 2n 1 X 例 115和 115在计算机中 设机器字长为8位 其原码可分别表示为 115 原 01110011B 115 原 11110011B3 零的原码 若真值为零 则原码有两种表示法 0 原 000 00 0 原 100 00由此可得原码与真值的关系为X 0 X 2n2n 1 X 2n X 0 X 原 补码与反码1 补码的概念假设标准时间为6点整 而某钟表却指在9点9 3 6 9 9 6 钟表采用12小时进位 该12称之为模 mod 模 mod 一个系统的量程或此系统所能表示的最大数 它会自然丢掉 9 3 9 9 12 6 6 mod12自然丢掉 9是 3在模为12时的补数 引入补数后使减法运算变为加法运算 例如 11 7 11 5 4 mod12 一般情况下 任一整数X 在模为K时的补数可用下式表示 X 补数 X K modK X0 X KK X K X 0 由补码的概念引伸 当用n位二进制数表示整数X 1位为符号位 n 1位为数值位 模为2n时 数 的补码可表示为 X0 X 2n 12n X 2n 1 X 0 mod2n X 补 结论 正数的补码与其原码相同 X 补 X 原 零的补码为零 0 补 0 补 000 00 负数才有求补码的问题 2 负数补码的求法补码的求法一般有两种 用补码定义式 X 补 2n X 2n X 2n 1 X 0 整数 例如 X 0101111B n 8 则 X 补 28 0101111B 100000000B 0101111B 11010001B mod28 在用补码定义式求补码的过程中 由于做一次减法很不方便 故该法一般不用 求反码 再在数值末位加1可得到补码 即 X 补 X 反 1 3 反码 X 反一个正数的反码 等于该数的原码 一个负数的反码 等于该负数的原码符号位不变 即为1 数值位按位求反 即0变1 1变0 X0 X 2n 1 2n 1 X 2n 1 X 0 X 反 结论 正数的反码 X 反 X 原 负数的反码 X 反 零的反码 0 反 000 00 0 反 111 11 例假设X1 83 X2 76 当用8位二进制数表示时 求X1 X2的原码 反码及补码 解 X1 原 X1 反 X1 补 01010011B X2 原 11001100B X2 反 10110011B X2 补 X 反 1 10110100B 综上所述可归纳为 正数的原码 反码 补码就是该数本身 负数的原码其符号位为1 数值位不变 负数的反码其符号位为1 数值位逐位求反 负数的补码其符号位为1 数值位逐位求反并在末位加1 1 3 3补码的运算规则与溢出判别补码的运算规则1 X Y 补 X 补 Y 补2 X Y 补 X 补 Y 补3 X 补 补 X 原 例用补码求X Y 解 若 X 补 00100101 Y 补 00110011 可得 X Y 补 X 补 Y 补 00100101 00110011 01011000 X Y 原 X Y 补 01011000则X Y 01011000 2 88 例用补码求X Y 解 若 X 补 00100101 Y 补 00110011 Y 补 11001101 可得 X Y 补 X 补 Y 补 00100101 11001101 11110010 X Y 原 X Y 补 补 10001110则X Y 00001110 2 14 例用补码求Y X 解 X 补 00100101 Y 补 00110011 X 补 11011011 可得 Y X 补 Y 补 X 补 00110011 11011011 100001110 模28自然丢失 则Y X 00001110 2 14 例用补码求 X Y 解 X 补 00100101 Y 补 00110011 X Y 补 X 补 Y 补 11011011 11001101 110101000 模28自然丢失 X Y 原 X Y 补 补 11011000则 X Y 01011000 2 88 例设X 100 Y 50 用补码运算求X Y解 X 补 01100100 Y 补 00110010 X 补 10011100 Y 补 11001110 X Y 补 X 补 Y 补 01100100 00110010 10010110 X Y 原 X Y 补 补 11101010X Y 01101010 2 106 例设X 100 Y 50 用补码运算求 X Y 解 X 补 01100100 Y 补 00110010 X 补 10011100 Y 补 11001110 X 补 Y 补 10011100 11001110 01101010 X 补 Y 补 原 01101010 2 01101010 X Y 01101010 106 4 溢出的判别双高位判别法利用符号位 Kn 1位 及最高数值位 Kn 2位 的进位情况来判断是否发生了溢出 CS 若符号位发生进位 则CS 1 否则CS 0 CP 若最高数值位发生进位 则CP 1 否则CP 0 当两个正数补码相加时 若数值部分之和大于2n 1 则数值部分必有进位CP 1 而符号位却无进位CS 0 这时CSCP的状态为 01 发生正溢出 当两个负数补码相加时 若数值部分绝对值之和大于2n 1 则数值部分补码之和必小于2n 1 CP 0 而符号位肯定有进位CS 1 这时CSCP的状态为 10 发生负溢出 当不发生溢出时 CS和CP的状态是相同的 即CSCP的状态为 00 或 11 例01011001 89 01101100 108 011110000 进位 011000101 59 CS 0 CP 1 正溢出 10010010 110 10100100 92 100000000 进位 100110110 54 CS 1 CP 0 负溢出 例00110010 50 11101100 20 01000110 70 11100010 30 000001100 进位 111000000 进位 001111000 120 111001110 50 CS 0 CP 0 无溢出CS 1 CP 1 无溢出 01010101 85 10111100 68 11011101 35 00011101 29 110111010 进位 001111000 进位 100110010 50 011011001 39 CS 1 CP 1 无溢出CS 0 CP 0 无溢出在计算机中 常用 异或 电路来判别有无溢出发生 即CSCP 1表示有溢出发生 否则无溢出发生 1 4定点数与浮点数 1 4 1定点表示法在计算机中 如将小数点的位置固定不变 称为定点表示法 这个固定的位置是事先约定好的 不必用符号表示 用定点法表示的实数叫做定点数 通常定点表示采用以下两种方法 1 定点整数表示法小数点固定在最低数值位之后 机器中能表示的所有数都是整数 这种方法称之为定点整数表示法 其格式如下 其中 为设定的小数点位置当用n位表示数N时 1位为符号位 n 1位为数值位 则N的范围是 2n 1 N 2n 1 1 n 8则 128 N 127 n 16 32768 N 32767 例如 若N 1011011 n 8 则N表示为 2 定点小数表示法小数点固定在最高数值位之前 其中 为设定的小数点位置 当用n位表示数N时 1位为符号位 n 1位为数值位 则N的范围是 1 21 n N 1 21 n 例若N 0 1011011 n 8 则用定点小数法可将N表示为 1 4 2浮点表示法用浮点法表示的实数 叫做浮点数 N M 2 EM 尾数 数符 数的正 负 E 阶码 明尾数小数点移动的位数 阶符 尾数小数点浮动的方向阶符和阶码表明了数值N小数点的位置 设阶码E的位数为m位 尾数M的位数为n位 则浮点数N的取值范围为 例16位表示的浮点原码数 当m 7 n 7时 它所能表示的最大绝对值为 N max 2127它所能表示的除0以外的最小绝对值为 N min 2 134 1 5BCD码和ASCII码 1 5 1BCD码 BinaryCodedDecimal 1位十进制数 10个数码 4位二进制数 16种组合取其10种组合分别代表10个十进制数码 不是唯一的 最常用的方法是8421BCD码 其中8 4 2 1分别为4位二进制数的位权值 8421BCD码表 例将78 43转换成相应的BCD码 将 01101001 00010101 BCD转换成十进制数 78 43 01111000 01000011 BCD 01101001 00010101 BCD 69 15 1 5 2BCD码运算及十进制调整4 3 0100 BCD 0011 BCD 0111 BCD 715 12 00010101 BCD 00010010 BCD 00100111 BCD 27 10D 1010B 转换成BCD码 10D 00010000 BCD 1010 B 0110 B 加6调整 11D 1011B转换成BCD码 11D 00010001 BCD 1011 B 0110 B 加6调整 15D 1111B转换成BCD码 15D 00010101 BCD 1111 B 0110 B 加6调整 注意 当两个BCD数相加结果大于1001 即大于十进制数9 时 为使其符合十进制运算和进位规律 需对BCD码的二进制运算结果加0110 加6 调整 例4 8 0100 BCD 1000 BCD 1100 BCD 1001调整后 其结果为 1100 BCD 0110 BCD 00010010 BCD 12 当两个BCD数相加结果在本位上并不大于1001 但有低位进位发生 使得两个BCD数与进位一起相加 其结果大于1001 这时也要作加0110 加6 调整 例用BCD数完成54 48的运算 解 54 01010100 BCD 48 01001000 BCD 01010100 0100100010011100 低4位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47278-2026工业产品数据字典测控装备
- GB/T 32963-2026锌铝合金镀层钢丝缆索
- 2024-2025学年北京市101中学八年级(下)期中数学试卷及答案解析
- 文化交流活动免责协议书
- 2024年中学生学习总结(9篇)
- 2024年北京高考数学文试题及答案
- 《印刷术》 教案 四年级下册科学青岛版(五四制)
- 821抽屉原理题库教师版
- S电器应收账款管理分析
- 凝结芽孢杆菌研究进展
- 证券投资基金销售业务信息管理平台管理规定全文
- 2026江苏南京市城市建设投资控股(集团)有限责任公司招聘78人笔试历年参考题库附带答案详解
- 杭州地铁科技有限公司社会招聘29人建设笔试备考试题及答案解析
- 中粮集团2026届春季校园招聘考试参考试题及答案解析
- 新课程理念下高中物理高效课堂的构建与实践探究
- DB42∕T 2512-2026 建筑工程三维模型定义数据标准
- 医院药品目录(很好的)
- 装修工程监理方案投标方案技术标
- 局部解剖学:盆部、会阴局部解剖
- 阴道镜基础临床运用培训(飞利浦)
- 人教版小学语文六年级下册综合复习狱中联欢
评论
0/150
提交评论