1 / 40

上午好

上午好. questions. 什么叫主 机 什么叫总线,根据传送的信息不同的分类,根据位置分类,根据结构分类。特点。 CPU 的组成 累加器和程序计数器 PC 的作用 标志寄存器的作用 存储器的读写过程。 RISC 与 CISC 计算机工作过程. 第三讲 第 2 章 微机运算基础. 进位计数制 进位数制之间的转换 二进制编码 二进制的运算 数的定点和浮点表示 带符号数的表示法. 2.1 进位计数制. 按进位的方法进行计数 基数:表示该进位制所用的字符或数码的个数 十进制的基数为 10 二进制的基数为 2 八进制的基数为 8

jorn
Download Presentation

上午好

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 上午好

  2. questions • 什么叫主机 • 什么叫总线,根据传送的信息不同的分类,根据位置分类,根据结构分类。特点。 • CPU的组成 • 累加器和程序计数器PC的作用 • 标志寄存器的作用 • 存储器的读写过程。 • RISC与CISC • 计算机工作过程

  3. 第三讲 第2章 微机运算基础 • 进位计数制 • 进位数制之间的转换 • 二进制编码 • 二进制的运算 • 数的定点和浮点表示 • 带符号数的表示法

  4. 2.1 进位计数制 • 按进位的方法进行计数 • 基数:表示该进位制所用的字符或数码的个数 • 十进制的基数为10 • 二进制的基数为2 • 八进制的基数为8 • 十六进制的基数为16

  5. 十进制数的特点: • 基数为10,数码个数为10;0~9 • “逢十进一”,上一位(左)的权是下一位(右)的权的10倍 • 二进制数的特点: • 基数为2,数码个数为2;0,1 • “逢二进一”,上一位(左)的权是下一位(右)的权的2倍

  6. 八进制数的特点: • 基数为8,数码个数为8;0~7 • “逢八进一”,上一位(左)的权是下一位(右)的权的8倍 • 十六进制数的特点: • 基数为16,数码个数为16;0~9和A~F • “逢十六进一”,上一位(左)的权是下一位(右)的权的16倍

  7. 设某进制数的基数为b,则该进制数N的按位权的展开式为:设某进制数的基数为b,则该进制数N的按位权的展开式为: 其中: n为整数的总位数;m为小数的总位数;ki为第I位的数码;bi为第i位的权。

  8. 2.2 进位数制之间的转换 • 二进制数转换为十进制数 • 整数的转换 • 小数的转换 • 十进制数转换为二进制数 • 整数的转换 • 小数的转换

  9. 八进制数与二进制数之间的转换 • 整数的转换 • 小数的转换 • 八进制数与十进制数之间的转换

  10. 十六进制数与二进制数之间的转换 • 十六进制数与十进制数之间的转换

  11. 2.3 二进制编码(代码) • 编码目的就是为了表示数字、字母、符号等,以便使计算机能够识别 • 二进制编码的十进制(二-十进制或BCD码) • 8421BCD码 • 例如:0.765D=(0.0111 0110 0101)BCD • 特点:简单直观、容易记忆 • 缺点:编码效率低,硬件实现复杂,信息量浪费大 • 二进制与BCD码之间的转换不能直接实现,而必须先转换为十进制

  12. 字符与字母的编码(ASCII码) • American Standard Code for Information Interchange • 表示数字、字母(大小写)、标点符号和控制字符,如: • A的ASCII码为:1000001(41H); • a的ASCII码为:1100001(97) • CR的ASCII码为:0001101(13)

  13. 2.4 二进制的运算 • 自学

  14. 2.5 数的定点和浮点表示 • 是计算机硬件能够直接识别的两种数据表示 • 定点表示就是小数点在数中的位置是固定的 • 浮点表示就是小数点在数中的位置是浮动的

  15. 定点整数 纯小数 数符:1表示负数;0表示正数

  16. 纯小数表示 • 二进制数:-0.1010111的定点表示为: . 符号 尾数 • 二进制数:+0.1010111的定点表示为: . 符号 尾数

  17. N位尾数的定点计算机所能表示的数N的范围为:N位尾数的定点计算机所能表示的数N的范围为:

  18. 浮点表示 • 对于N=2P×S,当阶码P可以变化时,称N为浮点数,一般用规格化表示 • 在计算机中的表示:

  19. 例如:二进制数:2+100×0.1011101的浮点表示为:例如:二进制数:2+100×0.1011101的浮点表示为: . 尾数值 阶符 阶码值 尾符

  20. 定点表示和浮点表示的比较 • 数的表示范围,浮点数比定点大 • 运算规则,浮点比定点运算复杂,两个浮点数做加减法时首先要对阶(即对齐小数点的位置);做乘除法时,两数的阶码和尾数要分别进行运算,见书中(P46 )的例子 • 运算精度,浮点比定点高 • 浮点运算所需的设备更复杂

  21. 2.6 带符号数的表示法 • 机器数与真值 • 机器数:一个数(包括符号位)在机器中的一组二进制表示形式 • 真值:把该数所表示的值称为机器数的“真值”。 • 机器数的种类和表示方法 • 带符号数的表示方法:原码、反码、补码

  22. 原码 • 原码表示即符号位0表示“+”号、1表示“-”号,其余数字位表示数据本身,如: X=+105;原码为:[X]原= 0 1101001 X=-105;原码为:[X]原= 1 1101001 0的原码表示有两个: [+0]原= 0 0000000 [-0]原= 1 0000000

  23. 反码 • 正数的反码表示:符号位用0表示;数字位为数值本身,如: [+4]反=0 0000100;[+127]反=0 1111111 [+0]反=0 0000000; • 负数的反码表示:符号位用1表示;数字位为数值本身取反,如: [-4]反=1 1111011;[-127]反=1 0000000 [-0]反=1 1111111

  24. 反码表示的特点 • 0的反码有两种表示法 • 8位二进制反码表示的范围为:-127D~127D • 当一个带符号数用反码表示时,最高位为符号位。如: • 10010100B是个负数-20D?-107?

  25. 补码 • 微机都是采用补码表示法,符号位可以一起参与运算,使得运算逻辑电路简化 • 什么是“模”? 循环计数系统中所能表示的最大数

  26. 什么是同余? • 数a与该数本身加上其模的任意整数倍之和相等,即:a+NK=a(mod K) • 这里:K为模,N为任意整数 • 当N=1时,a的同余数称为a的补数,即:

  27. 一般对于n位二进制数,某数X的补码总可以定义为:一般对于n位二进制数,某数X的补码总可以定义为: 从上式可见,正数的补码与原码相同,只有负数才有求补码的问题

  28. 求补码举例 • 正数的补码与其原码相同,如: [+4]补=0 0000100 [+127]补=0 1111111 [+0]补=0 0000000 • 负数的补码,反码加1,如: [-4]补=0 1111100 [-127]补=0 0000001 [-0]补=0 0000000

  29. 8位二进制补码的特点 • [+0]补= [-0]补=0 0000000 • 表示数的范围:-128~127 • 最高位是符号位 若[X]补= 1 0011011B则X=-27D?或 X=-101D?

  30. 补码的运算规则 • 微机中带符号数一律用补码表示,符号位同时参与计算,结果也为补码数表示 • 补码运算规则1:两个n位二进制之和的补码等于该两数的补码之和:[X]补+[Y]补=[X+Y]补 因为[X]补+[Y]补=2n+X+2n+Y=2n+(X+Y) 而2n+(X+Y)=[X+Y]补 所以[X]补+[Y]补=[X+Y]补

  31. 举例 • 举例1: • 已知X=+1000000,Y=+0001000,求两数的补码和。 • 先求两数的补码:[X]补=01000000, [Y]补=00001000 • 则[X]补+[Y]补=01001000 • [X+Y]补=[X]补+[Y]补=01001000 • 故[X+Y]原=[X+Y]补=01001000=+72

  32. 举例 • 举例2: • 已知X=+0000111,Y=-0010011,求两数的补码和。 • 先求两数的补码:[X]补=00000111, [Y]补=11101101 • 则[X]补+[Y]补=11110100 • [X+Y]补=[X]补+[Y]补= 11110100 • 故[X+Y]原= [[X+Y]补]补=10001100=-12

  33. 举例 • 举例3: • 已知X=-0011001,Y=-0000110,求两数的补码和。 • 先求两数的补码:[X]补=11100111, [Y]补=11111010 • 则[X]补+[Y]补=1 11100001, 1自然丢失 • 所以[X+Y]补=[X]补+[Y]补= 11100001 • 故[X+Y]原= [[X+Y]补]补=10011111=-31

  34. 补码运算规则2:两个n位二进制数之差的补码等于该两数的补码之差补码运算规则2:两个n位二进制数之差的补码等于该两数的补码之差 [X-Y]补=[X]补-[Y]补

  35. 补码运算规则3:求[X-Y]补 可以用[X]补和[-Y]补相加实现。 因为X-Y=X+(-Y) 所以[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补

  36. 举例 • 例如1:X=33,Y=15,求X-Y [X]补=00100001B; [Y]补=00001111B,[-Y]补=11110001 则[ X-Y ]补= [X]补+[-Y]补= 1 00010010=00010010= [ +18 ]补= +18 • 例如2: X=33,Y=-15,求X-Y [X]补=00100001B; [Y]补= 11110001 B,[-Y]补=00001111 则[ X-Y ]补= [X]补+[-Y]补= 00110000=00010010= [ +48 ]补= +48

  37. 4 溢出及其判断方法 • 已知计算机的字长为n位,而n位二进制的最高位是符号位,其余n-1位是数值位,采用补码表示时,可表示的数X的范围是 • 当n=8时为-128~+127,当运算的结果超出表示的范围,发生溢出,计算结果出错;显然,溢出只发生在两个同号数相加或异号数相减的情况 • 判断方法:V=D7C D6C • V=1时,有溢出。 +

  38. 对于加运算,如果次高位形成进位加入最高位,而最高位相加却没有进位输出时;这种情况对应两正数相加运算溢出对于加运算,如果次高位形成进位加入最高位,而最高位相加却没有进位输出时;这种情况对应两正数相加运算溢出 • 若次高位没有进位加入最高位,但最高位却有进位输出时发生溢出;对应两负数相加,结果超出范围 • 对于减运算,当次高位不需从最高位借位,但最高位却需借位(正数减负数,差超出范围);或者次高位需从最高位借位,但最高位不需借位(负数减正数,差超出范围),都会溢出。

  39. 举例 • +72+(+98) 01001000B+01100010B=10101010B=-86 • -83+(-80) 10101101B+10110000B=[1] 0 1011101B=+93 • +72 - ( - 98) 01001000B - 10011110B=10101010B=-86 • -83+(-80) 10101101B+10110000B=01011101B=+93

  40. 谢谢 问题与讨论

More Related