2. 运算方法和运算器(数据表示、二进制转码、加减运算及溢出处理、移位运算)


2.1 数据的表示方法与转换

2.1.1 数据的表示方法

二进制(Binary)

八进制(Octal)

十进制(Decimal)

十六进制(Hex)

2.1.2 十进制转二进制

方法:拼凑法,将十进制数拆分成多个2的n次幂相加,直接看例子:

①求248的二进制数据
248=128+64+32+16+8
   =(10000000+1000000+100000+10000+1000)B
   =1111,1000B
②求72的二进制数据
72=64+8=1001000B

小数转换:
0.625=0.5+0.25+0.125
     =(0.1+0.01+0.001)B
     =0.111B

2.1.3 二进制转八、十六进制 

        每三位转成八进制,每四位转成十六进制,不足三位、四位的拿0来补,尤其注意小数尾部

2.1.4 BCD码

        BCD码(Binary Coded Decimal) 二进制代码表示的十进制数。

举例:

将(115)10用BCD码表示:
0001 0001 0101

运算时:

        当两个1位BCD相加之和小于(1001)B即(9)D时,无需修正;

        相加之和大于9时,需要进行加6修正且向高位进位。

2.2 定点数的表示与加减运算 

2.2.1 机器数的表示

        计算机中表示的带符号的二进制数称为“机器数”。“+”用0表示,“-”用1表示

 机器数三种表示方式:原码、补码和反码。 将带“+”或“-”符号的数称为“真值”。      

整数在机器中的表示(原码)
+1100 ——> 01100
-1100 ——> 11100

小数在机器中的表示
+0.1011 ——>0.1011
-0.1011 ——>1.1011

原码转补码

        若原码为正数:原码、补码一致

        若原码为负数:符号位不变,原码取反加1

①给定X=+1011001,求X的补码。
        解:X为正数,故[X]补=01011001
②给定Y=-1100101,求Y的补码。
       解:Y为负数,故[Y]补=10011011

0的补码为:  [+0]补=000……0
            [-0]补=000……0  

2.2.2 补码加减法

        用补码表示的两数进行加法运算,结果仍为补码 ;符号位与数值位一起参与运算。

        [X+Y]补=[X]补+[Y]补 

        [X-Y]补=[X]补+[-Y]补

①给定X=-1010,Y=+0101,求X+Y。
        解:[X+Y]补=[X]补+[Y]补
                              =10110+00101
                              =11011……-0101……(-5)D
②给定X=-1010,Y=0101,求X-Y。
      解: [X-Y]补=[X]补+[-Y]补
                              =10110+11011
                              =10001……-1111……(-15)D

        例题:

 2.2.3 加减法运算的溢出处理

        当运算结果超出机器数表示的范围时,称为溢出;负+负,负-正,正+正,正-负 可能产生溢出。

 

         例题:

 补充:这道题数据后面字母H表示十六进制
r1对应的二进制为 1111 1110

2.2.4 定点数的移位运算

符号位保持不变

左移:某二进制数左移,得到某数的2倍;

右移:某二进制数右移,得到某数的1/2倍。

例题:

以原码为例,设[X]原=00110=+6,[Y]原=10100=-4,求其分别左移和右移后的结果。
 ①X左移1位后01100=+12,右移1位后00011=+3
 ②Y左移1位后11000=-8,右移1位后10010=-2

移出位的缺位补充:

 


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值