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

一:十进制转二进制(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)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部