计算机组成原理--计算机的运算方法

无符号数和有符号数

一.无符号数:

        无符号数没有只有数值部分,将它转换为二进制数就可以按一定位数保持到寄存器或存储器中,如果存到寄存器中,寄存器的长度就是无符号数的长度


二.有符号数:

1.机器数与真值

机器数:保持在计算机里的数

真值:我们得到的真实数

有符号数在计算机存储时不会存储小数点,而是按一种小数点协议存储,小数存储在符号位后面,整数存储在数值后面。


2.原码表示法:

(1)定义:

整数

 小数

 小数正数的原码中开头的0表示符号位,和真值中的0表示的意义不一样


原码的特点:简单,直观,但进行加法操作时会出现歧义

要求数1数2实际操作结果符号
+++++
++--可+可-
+-+-可+可-
+--++

3.补码表示:

(1)负数补码:一个负数加上“模”就得到了该负数的补码

(2)正数补码:它本身

(3)补码定义:

整数

 小数

 注:当真值为负数时,补码可以表示为原码处符号位外每位取反,末尾加1得到,原码也一样。


4.反码表示:

定义:

整数

 小数


5.移码表示:

定义:


6.定点表示:

定点机小数定点机整数定点机
原码-(1-2^-n) ~ -(1-2^-n)-(2^n - 1) ~ +(2^n-1)
补码-1 ~ +(1-2^-n)-2^n ~ +(2^n-1)
反码-(1-2^-n) ~ +(1-2^-n)-(2^n-1) ~ +(2^n-1)

7.浮点表示:

 (1)浮点数表示形式:

s 代表浮点数的符号

n其位数反映浮点数的精度

m其位数反映浮点数的表示范围

j和m共同表示小数点的实际位置


(2)浮点数表示范围:


(3)浮点数的规格化形式:

r=2        尾数最高位为1

r=4        尾数最高2位不全为0

r=8        尾数最高3位不全为0


(4)浮点数的规格化:

r=2        左移        尾数左移1位,阶码减1

              右移        尾数右移1位,阶码加1

r=4        左移        尾数左移2位,阶码减1

              右移        尾数右移2位,阶码加1

r=8        左移        尾数左移3位,阶码减1

              右移        尾数右移3位,阶码加1

基数r越大,可表示的浮点数的范围越大,精度越低



定点运算


一.移位运算

1.移位运算的数学意义

 数学        15 m=1500  cm        解释:小数点右移2位

机器用语        15相对于小数点左移2位,小数点不动,计算机中数据的小数点固定,数据左右移动

2.算术移位规则

·符号位不变

码制添补代码
正数原码,补码,反码0
负数原码0
补码左移添0
右移添1
反码1

小列:

a.机器字长8位,A=+26=+11010

移位操作机器数对应的真值
A原=A补=A反
移位前0,0011010+26
左移一位0,0110100+52
左移两位0,1101000+104
右移一位0,0001101+13
右移两位0,0000110+6

左移真值变大两倍,右移变小两倍


b.机器字长8位,A=-26=-11010

原码
移位操作机器数对应的真值
移位前1,001101,-26
左移一位1,0110100-52
左移两位1.110100-104
右移一位1,0001101-13
右移两位1,0000110-6
补码
移位操作机器数对应的真值
移位前1,1100110-26
左移一位1,1001100-52
左移两位1,0011000-104
右移一位1,1110011-13
右移两位1,1111001-7
反码
移位操作机器数对应的真值
移位前1,1100101-26
左移一位1,1001011-52
左移两位1,0010111-104
右移一位1,1110010-13
右移两位1,1111001-6

3.算术移位的硬件实现

4.算术移位和逻辑移位的区别

·算术移位        有符号数的移位,最高位表示符号,不参加移位

·逻辑移位        无符号数的移位,都参加移位,逻辑左移,低位添0,高位丢弃,逻辑右移,高位添0,低位添丢弃

例如:        01010011                                10110010

逻辑左移:10100110                逻辑右移:01100100

算术左移:00100110                算术右移:11011001

(蓝色数位符号位,不参加移位运算)


  二.加法减法运算

(1)补码加法运算:

整数        A补 + B补 =AB补    (mod2^n+1)

小数        A补 + B补 =AB补    (mod2)

(2)补码减法运算:

A-B=A+(-B)

整数        (A-B)补 =(A+(-B))补=(A)补+(-B)补        (mod2^n+1)

小数        (A-B)补 =(A+(-B))补=(A)补+(-B)补        (mod2)


(3)补码溢出判断:

a.一位符号位判断:

参加操作的两个数符号相同,其结果的符号位与原操作数的符号不同,即为溢出

或最高有效位的进位 + 符号位的进位=1则溢出

b.两位符号位判断:

结果的双符号位相同,未溢出      例:00,100        11,100

结果的双符号位不同,溢出        例:10,100        01,100

(在双符号位中,最高符号位代表其真正的符号)


(4)补码加减法的硬件配置:

 加法器是核心,由它完成了两补码的运算,寄存器A中保存被加数,寄存器x保存加数或被减数,GA,GS是两个标记,如果做加法,GA置1,做减法GS置1,如果进行减法运算,求补控制逻辑可以完成B补码到(-B)补码的转换,然后可以用X硬件实行加1或直接用加法器进行加1操作


三.乘法运算

 

 

 

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前段被迫创业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值