计算机组成原理笔记 | 02 运算方法和运算器

内容概要:数据在计算机中的存储和运算、相关习题

基础知识:

真值和机器数

  • 真值:现实中带正负号的数值
  • 机器数:把正负号数字化的数

1.进制

1.1R进制转10进制,如:

        101.0101 (16)=1*16^2+0+1*16^0+0+1*16^-2+0+1*16^-4

1.2 小数转二进制,如:

        0.8125-> 2*0.8125=1.625       1取出整数保留小数 

                       2*0.625=1.25            1

                        2*0.25=0.5               0

                        2*0.5=1                    1

        所以二进制为 0.1102 (2)

1.3 十进制到8/16进制的转化

        技巧:可以通过2进制过渡,16进制对应二进制4位,8进制对应二进制3位

        327.8125=101000111.1101->16进制

                      1        0100        0111.1101

                      1         4                 7  .     D

1.4 分数化简二进制

        分子化为二进制,分母化为2^n,n有几位小数点从左向右边移动几位。如:

        -\frac{35}{64}=-\frac{10011}{2^6}=-0.100011         

2.码的转换原码/反码/补码计算器 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)icon-default.png?t=N7T8http://www.atoolbox.net/Tool.php?Id=952

        由于正数的原码、反码、补码一样,着重讲解负数的🐎。

原码

x=+1110 原 0,111

x=-1110 原 1,1110

x=-0.1101 原 1.1101

2.2 转换

负数-19        原码 ——>反码——> 补码

        1,0010011    1,1101100         1,1101101       

                               反码:符号位不变 

                                                       补码:在反码的末尾+1  。(补码符号位可以直接运算)

补码——>反码怎么处理??

        补码——>原码——>反码

补充技巧

原码——>补码快速计算

1,0010011

                ⬆️第一个1不动

1,{001001}1。括号里的全部取反得到补码1,{110110}1

补码——>原码

1,{110110}1同上也是全部取反得到原码1,0010011

就可以快速完成补码——>反码

为什么这么处理A补-B补<==>A补+(-B补)??

        因为计算更简单做加法,补码符号位可以直接运算。

技巧:由 [x] 补快速求 [-x] 补的方法。原码符号位、数值位全部取反,末位 + 1

19 原码0,0010011

补码     0,0010011 (注意:正数是一样的)

负补码 1,1101101

移码补码的基础上只将符号位取反。移码 = 真值 + 偏置值。作用方便比较大小

3.数的定点表示和浮点表示

浮点数:N=S*r^j

S是尾数(精度),r是基数,j是阶数(反应范围)

规格化数:尾数S最高位位1的浮点数

浮点数的表示形式:

        例题:若浮点数字长16位,其中阶码5位(含一位阶符),尾数11位(含一位数符)。将十进进制-58写成二进制的定点数和浮点数并写它在定点机和浮点机中的机器数形式。

定点数:x=-00 0011 1010         浮点数:x=-0.11 1010 0000*2^110

浮点数要规格化:写成0.1xxxx     这里相当于小数点右移6位

浮点机:原码:0,0110;1.111010 0000

               反码:0,0110;1.000101 1111

               补码:0,0110;1.000110 0000

                阶移,尾补:1,0110;1.000110 0000

4.定点运算

4.1位移运算

101(5)->1010(10)

溢出判断

方法一:采用一位符号位,根据数据位进位情况判断溢出符号的进位C5最高教值位的进位C1
上溢出 0 1
下溢出 1 0

绿色是符号位,看C5和C1这两个数的进位,如果不一样则有溢出。

方法二:采用双符号位
正数符号为00,负数符号为11

  

        

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值