计算机组成原理4小时速成2:计算机运算方法,原码,反码,补码,移位,加法减法,乘除法
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
 测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
 这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
 考网警特招必然要考操作系统,计算机网络,计算机组成原理,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
 
 系列文章:
 【1】计算机组成原理4小时速成1:五大组成部分:运算器,控制器,存储器,输入设备输出设备
 
  文章目录
  - 计算机组成原理4小时速成2:计算机运算方法,原码,反码,补码,移位,加法减法,乘除法
- @[TOC](文章目录)
 
- 计算机组成原理:计算机的运算方法
- 无符号数,有符号数
- 原码,反码,补码
- 定点数和浮点数
- 浮点数的规格化形式
- IEEE754表示浮点数的标准
- 定点计算:移位运算
- 算术移位,符号位不动
- 算术移位和逻辑移位的区别,算术移位是符号位不变,逻辑移位是整体移动
- 加减法运算
- 溢出判断,字长不够,俩数想加减,可能会溢出
- 乘法运算
- 除法运算类似
- 总结
 
文章目录
- 计算机组成原理4小时速成2:计算机运算方法,原码,反码,补码,移位,加法减法,乘除法
- @[TOC](文章目录)
 
- 计算机组成原理:计算机的运算方法
- 无符号数,有符号数
- 原码,反码,补码
- 定点数和浮点数
- 浮点数的规格化形式
- IEEE754表示浮点数的标准
- 定点计算:移位运算
- 算术移位,符号位不动
- 算术移位和逻辑移位的区别,算术移位是符号位不变,逻辑移位是整体移动
- 加减法运算
- 溢出判断,字长不够,俩数想加减,可能会溢出
- 乘法运算
- 除法运算类似
- 总结
计算机组成原理:计算机的运算方法

无符号数,有符号数

 真的值,带正负号的数
机器数,是将正负号用二进制表示
 0:正数
 1:负数
 
 
原码,反码,补码

 
 
 
 
 实际计算机都是采用补码表示数字,然后加法运算
反码:符号位不动,后面的全部取反——使用少
 
 正数原反补相同不变
 负数不同
补码是重点
 负数的补码是,反码+1

 
 

 负数补码再求补码,不就是原码吗
 
 两次求补码就是原码
 其补码
70
 100 0110
 

 
 补码的符号位取反,就是移码,表示整数

 已知x补码,快速求-x的补码
 符号位,数值位全部取反,末尾加1

定点数和浮点数

 小数点,固定在某个位置
符号位后面:小数
 末尾的话,就是整数
 

 
 
 2的n次方,相当于移位
 乘2就是要向左移动1位
 
 S是小数
 最好还是有效表示
 最好就纯小数,0.1xxxx
 这种就是规格化的小数

 
 
 了解
浮点数的规格化形式
减少存储空间,扩大位
r=2时,尾数最高位为1

 
 小数点左移,那就相当于基数扩大了,阶码需要-1
 小数点右移,那就相当于基数缩小了,阶码需要+1
用来对冲
 
 正常情况下,我们只用r=2
 转小数,乘2取整,转化为小数二进制
 定点的话,固定小数点,10位小数部分
 规格化的浮点数,需要左移,那阶码要减
 
 定点机器数那就是原反补码表示
 浮点机器数,
 符号位1,0010是阶码,共5位;然后是原反补码放上

 浮点数的阶码,不管你正负数,阶码部分符号位不变,其余位均是取反,补码是要加1的
这点以前我是不清楚的,现在就学会了
58=32+16+8+2
 即111010
 定点的话,整数是前面补0,小数是后面补0哦
 
 浮点数规格化,需要变0.1xxx
 那就要将小数点左移动6位,0.111010,所以阶码需要加6
 定点机器数的话,负数,原反补码骚操作搞就是了,符号位放好
 
 机器数中,阶码要搞成移码,骚啊
 尾数用补码
阶码5位哦,别错了
 
 移码是啥呢,就是符号位也要取反
 
 这就明白了,舒服
IEEE754表示浮点数的标准
最高位是数的符号
 其他的不变
 
 了解即可
定点计算:移位运算
主要考计算
 计算机怎么加减?
 怎么乘除?
左移1位乘2
 右移1位除2
 
 运算器ALU是加法器,乘除就是移位配合
算术移位,符号位不动
其余的可以移动
反码的话,移动是补1,因为原码是取反得来的
补码:左移的话,右边补0,右移的话,左边补1
 这个左神讲过
 骚得很……

 机器数8位字长,1个符号位
 26=16+8+0+2+0
 11010
 
 左移1位,乘2相当于,56看看是不是
 右边补个0【原码】
 反码左移补1
 补码左移右边补0
 补码右移左边补1
使劲移动位数太大可能顶不住
 
 补码不同哦
 -26来看看
 左移右边补0
 右移左边补1
 
 补码的话,左移,右移都是OK的
反码的话,左右移动都是补1的哦,反码是原码的取反
 
算术移位和逻辑移位的区别,算术移位是符号位不变,逻辑移位是整体移动

 
加减法运算
进位别忘了,丢了就溢出了
 
 
 
 计算机是二进制的补码运算
 不是人的十进制
 
 8位的话,范围更大了

溢出判断,字长不够,俩数想加减,可能会溢出


 异或:同为0,不同为1
 
 双符号位相同OK
 双符号位不同gg
 最高符号位是真
 
乘法运算

 符号位异或搞定
 乘数b来决定a是否要被加,而且每次要a左移
 
 算法代码咱们写过这个算法
 乘数b看末尾那个位
 是1,加a
 部分积ans=0,作为乘法结果
 利用部分积右移,补充乘数b的左边,这样去玩
 
 你看部分积ans右移,挤掉b的右边那个1
 看看b此时情况,决定a是否被加
然后将ans右移1位,挤掉b的0,整体相当于逻辑右移
 
 此时b的最低位0,ans不加
 得到的结果ans
 ans继续右移1位,把b的0挤掉,这样的话,b最低位1,加a给ans
 
 得到的结果,还需要右移1位,这样ans才是我们乘法的结果哦
再看一个例子
 
 这也不难
 好说
 
 
 移位多少次?那就是看b的位数
 好说
除法运算类似
了解,计算机自己会做,咱们了解,考网络警察搞数据分析的话,用不着
 重要是数据分析的那些东西
 
 
 加减交替?搞除法
不管,继续复习别的章节,这个不是重点
为啥呢?
 (一)计算机组成原理【学习中……】
 1.计算机硬件的发展历程
 2.计算机软件的分类
 3.计算机硬件的基本组成
 4.计算机软件和硬件的关系
 5.计算机的工作过程
 6.★计算机的性能指标
 7.★进位计数制及其相互转换
 8.★字符和字符串
 9.浮点数的表示和运算
 10.存储器的分类
 11.存储器的性能指标
 12.虚拟存储器
 13.指令的基本格式
 14.常见数据寻址方式
 15.CISC和 RISC 的基本概念
 16.CPU 的功能和基本结构
 17.总线标准
 18.★★常见编码的识别与转换
 (1)ASCII编码
 (2)Base64编码
 (3)shellcode编码
 (4)Quoted-printable编码
 (5)XXencode编码
 (6)UUencode编码
 (7)URL编码
 (8)Unicode编码
 (9)Escape/Unescape编码
 (10)HTML实体编码
 (11)莫尔斯电码(Morse Code)
打五角星的是重点,其余的知道就行考试涵盖的内容很多的
总结
提示:重要经验:
1)
 2)学好oracle,操作系统,计算机网络,计算机组成原理,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
 3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。



















