复习点:
1.编码求法

(1)原码:正数和负数都是在直接在真值前加符号位即可(0表示正数,1表示负数)

eg.X = 1101, Y = -1011, Z = 0.1001, P = -0.1010 ,字长为5
[X]原 = 01101 [Y]原 = 11011 [Z]原 = 0.1001 [P]原 = 1.1010

(2)反码:正数的反码与原码相同,负数符号位不变,真值部分各位按位变反。

eg.X = 1111, Y = -1010, Z = 0.1011, P = -0.1001,字长为5
[X]反 = 01111 [Y]反 = 10101 [Z]反 = 0.1011 [P] = 1.0110

(3)补码:正数的补码和原码相同,负数的补码有如下两种求法

  • [X]补 = M + X(MOD M)
  • 先求反码,然后末位+1即可1
    eg.X = 1001, Y = -1001, Z = 0.1010, P = -0.1011,字长为5
    [X]补 = 01001 [Y]补 = 10111 [Z]补 = 0.1010 [P]补 = 1.0101
  • 由补码求真值:正数补码的数位即真值,负数将补码去掉符号位后各位变反,末位加1,最后加上“-”即可
    eg.[X]补 = 01101, [Y]补 = 10110, [Z]补 = 0.1011, [P]补 = 1.1101
    X = 1101, Y = -1010, Z = 0.1011, P = -0.0011

(4)移码:只有整数有移码。补码的符号位取反就是移码

eg.X = 1001, Y = -1101,字长为5
[X]补 = 01001 [Y]补 = 10011
[X]移 = 11001 [Y]移 = 00011

2.4种机器码的特点

  • 对于正数,原码,补码,反码的表示形式一样。
  • 最高位一定是符号位
  • 相同字长的情况下,补码和移码能表示的数的范围比原码和反码多一位,这是因为,在原码和反码中0有两种表示形式,而补码和移码中的0只有唯一形式。(多表示的那个数为负数)
  • 引入补码的目的是将运算“减”化为“加”
  • 引入移码是因为通过加法和移码可以实现乘除操作
  • 如果真值位数小于字长,整数应该在符号位和真值之间补足位数,小数应该在末位补足位数。一定要记得是先补再转换

3.定点数学习

(1)定点整数

  • 原码和反码的表示范围:-(2n-1-1) ~ 2n-1-1
  • 补码和移码的标识范围:- 2n-1 ~ 2n-1-1
    eg.X = -11011011, 字长为16
    [X]原 = 1000000011011011
    [X]反 = 1111111100100100
    [X]补 = 1111111100100101
    [X]移 = 0111111100100101

(2)定点小数:小数点固定在最高有效位和符号位之间的定点数,是纯小数。

  • 原码和反码的表示范围是 -(1-2-(n-1))~ 1-2-(n-1)
  • 补码的表示范围是:-1 ~ 1-2-(n-1)
    eg.X = -0.11011101,字长为16
    [X]原 = 1.110111010000000
    [X]反 = 1.001000101111111
    [X]补 = 1.001000110000000

(3)无符号数:表示范围是0~2n-1

4.浮点数学习

  • 格式:阶符| 阶码 |数符| 尾数,一般阶符和数符各占一位
    eg.N = 0.11110001×2-0101,其中0.11110001叫做尾数,0.11110001前的“+”叫数符或尾符,0101前的“-”叫阶符,0101叫阶码

  • 一般形式:N = M × RE(M是尾数,E是阶码,R是尾数的基数,计算机中默认为2)
    eg.设浮点数的阶码和尾数均用补码表示,且位数分别为5位和11位(均含1位符号位),将X = -27×29/32用浮点数格式表示
    先将X转换为二进制:X = -27×29/2-5 = -2111×0.11101

  • 一些特点:浮点数的表示范围主要取决于阶码的位数及基数,精度主要取决于尾数的位数;阶码E一般采用定点整数表示,尾数M一般采用定点小数表示

  • 浮点数的规格化:规定尾数真值的绝对值小于1同时大于等于0.5的浮点数为规格化浮点数。

5.IEEE 754标准

规定第一位是符号位,阶码用移码表示,尾数用原码表示

6.补码的运算

(1)加法运算:[X+Y]补 = [X]补 + [Y]补
eg.X = 9, Y = 13,字长为8,计算[X+Y]补
[X]原 = 00001001 [Y]原 = 00001101 [X]补 = 00001001 [Y]补 = 00001101
[X + Y]补 = 00001001 + 00001101 = 00010110

(2)减法运算:[X-Y]补 = [X+(-Y)]补 = [X]补 + [-Y]补,其中求一个符号相反的数 的补码(机器负数), 将这个数的补码连符号位一起变反,末位加1
eg.X = -1111, Y = -1010, 字长为8位,计算[X-Y]补
[X]原 = 10001111 [Y]原 = 10001010
[X]补 = 11110001 [Y]补 = 11110110
[-Y]补 = 00001010 [X-Y]补 = 11111011

7.溢出判断

  • 单符号运算方法:原理是异或。设运算时符号位产生的进位是Cn,最高数位产生的进位是Cn-1,若Cn⊕Cn-1 = 1(就是Cn和Cn-1不相同),溢出
  • 双符号位运算方法:原理类似,只是正数的符号位用00表示,负数的符号位用11表示,当运算结果的符号位是0时,发生正溢出;运算结果的符号位是10时,发生负溢出;运算结果的符号位是00或11时,没有发生溢出

8.移位运算

(1)算术移位

  • 原码移位:符号位不参加移位,左移数值高位移出,末位补0;右移数值低位移出,高位补0(当最高数位是1时,左移会丢失数的最高位,出现错误,最低数位是1时,右移会损失数的精度)
    eg.X = 00000010,左移两位
    结果为X = 00001000

  • 补码移位:符号位参加移位,左移数的末位补0,符号位移出;右移高位补符号位,末位移出
    eg.[X]补 = 11110101,左移两位;[Y]补 = 11111100,右移两位
    结果为X = 11010100 Y = 11111111

(2)逻辑移位

  • 逻辑左移:高位移出,末位补0;逻辑右移:高位补0,低位移出
    eg.X = 10101010,左移两位
    结果为X = 10101000

  • 循环左移和右移:循环左移是指将移出的最高位补到最低位;循环右移是将移出的最低位补到最高位(若字长为8,那么循环左移或右移8位后,得到的数与原来的相同)
    eg.X = 11010101循环左移两位 Y = 10001110循环右移两位
    结果为X = 01010111 Y = 10100011

计算机硬件技术基础(太原理工大学):第二章相关推荐

  1. 《计算机视觉技术与应用》-----第二章 图像处理基础

    系列文章目录 <计算机视觉技术与应用>-----第二章 图像处理基础 <计算机视觉技术与应用>-----第三章 图形用户界面 <计算机视觉技术与应用>-----第四 ...

  2. 计算机硬件技术基础5章在线,《计算机硬件技术基础》试题(D)

    有关<计算机硬件技术基础>,能够方便考生复习,保证不挂科. (D) 一.单项选择题(每题1分,共20分) 1.计算机的性能在很大程度上是由CPU决定的.CPU的性能主要体现为它的运算速度. ...

  3. 计算机硬件课题,计算机硬件技术基础免试课题.pptx

    计算机硬件技术基础免试课题 计算机硬件技术基础免试课题?说明:1.为了使学生真正掌握计算机硬件技术,我们对期末考试进行改革,允许同学进行课题设计,代替期末考试.2.愿意参加的同学,每人一个题目,以报名 ...

  4. 计算机硬件技术心得,计算机硬件技术基础学习心得.doc

    计算机硬件技术基础学习心得 计算机硬件技术基础学习心得 大学计算机基础学习心得 大学计算机基础学习心得 计算机,即电脑,随着科学技术的发展,不断进行着更新发展.伴随着计算机走入人类生活,它已成为人们日 ...

  5. 【python第一章 基础捋顺,第二章 python基础语法】

    第一章 基础捋顺,第二章 python基础语法 第一章 基础捋顺 第二章 python基础语法 2.1输入输出 2.2代码注释 2.3代码缩进 2.4命名规范 2.5变量 2.6基本数据类型 2.7数 ...

  6. 我们为什么要学计算机硬件技术设计,浅谈计算机硬件技术基础的论文(2)

    浅谈计算机硬件技术基础的论文篇二 <"计算机硬件技术基础"创新教学研究> 摘要:在深入分析"计算机硬件技术基础"课程在传统授课模式下所呈现的一些现状 ...

  7. 计算机硬件技术基础课程主要内容,计算机硬件技术基础课程设计.doc

    计算机硬件技术基础课程设计.doc (33页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 针算机硬件啟*基舷礫程疲针课程设计报告项目名称 ...

  8. 计算机硬件闫宏印答案,计算机硬件技术基础

    本课程以广泛使用的16位/32位/64位微处理器为背景,全面介绍计算机的软硬件系统,以流行PC系列及其核心技术为主线,详细介绍了计算机技术的基础知识.微处理器结构的演变与进化.汇编语言与程序设计以及接 ...

  9. 计算机硬件技术基础东北大学,东北大学19春学期《计算机硬件技术基础》在线作业123答案...

    <东北大学19春学期<计算机硬件技术基础>在线作业123答案>由会员分享,可在线阅读,更多相关<东北大学19春学期<计算机硬件技术基础>在线作业123答案(1 ...

  10. 计算机硬件基础大纲,计算机硬件技术基础大纲_.doc

    计算机硬件技术基础大纲_ 逻辑.移位指令 逻辑运算 按位(Bit)运算 规定:DST不允许为立即数 除源操作数为立即数外,至少有一个操作数为寄存器 (1)AND DST,SRC:B/W 全1则1,任0 ...

最新文章

  1. 智慧医疗解决医生“带病工作、超负荷工作”
  2. 基于Redis的单点登录
  3. Bootstrap4+MySQL前后端综合实训-Day10-AM【实训汇报-下午返校、项目代码(7个包+7个Html页面)】
  4. python数字图像处理(四) 频率域滤波
  5. windows sharepoint service 3.0 wss3 URL 映射问题,差点把网站废掉
  6. 【华为云技术分享】云小课 | 灵活配置权限,满足存储安全(OBS权限管理介绍上篇)
  7. MongoDB学习day08--Mongoose索引、Mongoose内置方法、扩展Mongoose Model的静态方法和实例方法...
  8. java地铁最短,地铁最短路径
  9. iOS 接入微信 支付宝 参数设置
  10. 我在创业公司的开发经验总结
  11. AutoCAD打印图纸如何使参照底图灰度显示
  12. 解决Python爬取百度页面出现中文乱码问题
  13. Java:萌新之路——银行账户管理系统
  14. codeup刷题2.1~2.4小节 ——《算法笔记》(胡凡)
  15. 牛客网——B-栈和排序
  16. Android实现平板的类股票列表联动
  17. ROS学习记录(二)阿克曼转向车运动学模型及在gazebo中搭建仿真环境
  18. java数组查找奇数_java – 在数组中对偶数和奇数进行排序
  19. 2022年湖南省社会工作者考试综合实务(初级)练习题及答案
  20. 4个免费的临时邮箱,保证可用,持续更新

热门文章

  1. 橡皮擦工具组、选择主体(ps尚硅谷学习)
  2. 判断二叉树是否为平衡二叉树(递归)
  3. VUE实现简易todos
  4. numpy.max() , sum()
  5. 电脑版敬业签记事本软件如何清除某个分类所有内容
  6. 荣耀20手机不升级鸿蒙经验
  7. MATLAB强化学习实战(七) 在Simulink中训练DDPG控制倒立摆系统
  8. 串口之COMMTIMEOUTS结构体详解
  9. 2022数学建模美赛B题详细思路获取
  10. Linux找回用户密码