十进制二进制互转、二进制与二进制的算术计算、二进制正数求负数、负数求正数

一:十进制转二进制(D-->B)

                整数部分:除二取余(直到除数为0),自下而上

                小数部分:乘二取整(直到小数部分为0),自上而下

                例如:(107.24)D=(?)B

                

(我的字就是会莫名其妙地自己跑歪了,和本人没有关系(bushi       ) 

 二:二进制转十进制

        按权相加:
        例如:(1000101.0011)B=(?)D

        

三:二进制正数求负数&二进制负数求正数

                首先:计算机只会做加法运算(减法运算也是由加法运算完成的)

                法则:正数的补码是该正数的负数,负数的补码是该负数的正数(正/负数通过求自己的补码得到自己的负/正数)

                那么为什么呢?

                我们都知道:

                正数的原码的最高符号位是0,反码是原码取反、补码是反码+1,移码是补码的最高符号位取反(移码在这里用不到)

                负数的原码的最高符号位是 1,反码是原码取反,补码是反码+1,移码是补码的最高符号位取反(移码在这里用不到)

                例如:(13)D = (0000 1100)B 

                                原码:0000 1100  (13的原码)

                                反码:1111 0011

                                补码:1111 0100

                                移码:0111 0100

                        根据法则可以得知:(-13)D的原码是(13)D的补码=(1111 0100)B

                        反码:0000 1011

                        补码:0000 1100  

                        可以得到(-13)D的补码是(13)D的原码。

四:二进制与二进制的算术计算

                首先:计算机只会做加法运算(减法运算也是由加法运算完成的)

                法则:逢二进一  (两个1相加就要往前进一位)

                例如:(0001)B + (0001)B = (0010)B

                           (0011 1111)B + (0100 0001)B = (1000 0000)B 

                那如果是求A-B呢?通过第四条法则:             正数的补码是该正数的负数,负数的补码是该负数的正数(正/负数通过求自己的补码得到自己的负/正数)

                可以知道:A-B = A+(-B)

                所以:(0011) - (1100) = (0011)+ (1100)的补码

                (1100)反码=(0011)

                                补码=(0100)

                即:(0011) - (1100) = (0011)+ (1100)的补码=(0011)+(0100)=(0111)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值