二进制减法怎么算啊(详细,好的话追加100分)

越详细越好越简单越好智商有限借位不怎么明白... 越详细越好 越简单越好 智商有限
借位不怎么明白
展开
 我来答
百度网友3677ebf
高粉答主

推荐于2019-08-24 · 每个回答都超有意思的
知道答主
回答量:26
采纳率:100%
帮助的人:7224
展开全部

二进制的减法原则:0-0=0,0-1=1(类似于十进制减法,需向高位借位) 1-0=1,1-1=0 (模二加运算或异或运算) 。

比如1100-1001,按照以上法则可得结果为1100-1001=0011。这个算式换成十进制就是12-9=3,可以看到换成十进制进行检验也是正确的。

莱布尼兹也是第一个认识到二进制记数法重要性的人,并系统地提出了二进制数的运算法则。二进制对200多年后计算机的发展产生了深远的影响。他于1716年发表了《论中国的哲学》一文,专门讨论八卦与二进制,指出二进制与八卦有共同之处。

扩展资料:

一、二进制转换为其他进制:

1、二进制转换成十进制:基数乘以权,然后相加,简化运算时可以把数位数是0的项不写出来,(因为0乘以其他不为0的数都是0)。小数部分也一样,但精确度较少。

2、二进制转换为八进制:采用“三位一并法”(是以小数点为中心向左右两边以每三位分组,不足的补上0)这样就可以轻松的进行转换。例:将二进制数(11100101.11101011)2转换成八进制数。 (11100101.11101011)2=(345.726)8

3、二进制转换为十六进制:采用的是“四位一并法”,整数部分从低位开始,每四位二进制数为一组,最后不足四位的,则在高位加0补足四位为止,也可以不补0;小数部分从高位开始,每四位二进制数为一组,最后不足四位的,必须在低位加0补足四位,然后用对应的十六进制数来代替,再按顺序写出对应的十六进制数。

例:将二进制数(10011111011.111011)2转换成十六进制数。(10011111011.111011)2=(4FB.EC)16

二、其他进制转换为二进制:

1、十进制转换为二进制

整数转换:采用连续除基取余,逆序排列法,直至商为0。

小数转换:采用连续乘基(即2)取整,顺序排列法。例(0.8125)10=(0.1101)2。步骤:0.8125*2=1.625,0.625*2=1.25,0.25*2=0.5,0.5*2-=1.0,则正向取整得(0.1101)2。

2、八进制转换为二进制:把每一位八进制数对应转换为一个三位二进制数。例(745.361)8= (111100101.011110001)2

3、十六进制转换为二进制:把每一位十六进制数对应转换为一个四位二进制数。

参考资料:

百度百科-二进制运算法则

匿名用户
推荐于2017-09-14
展开全部
3.1.2 二进制减法

二进制减法也很简单,与加法一样,二进制减法有八条规则:

l0 – 0 = 0

l0 – 1 = 1 有借位

l1 – 0 = 1

l1 – 1 =0

l0 – 0 – 借位 = 1有借位

l0 – 1 – 借位 = 0有借位

l1 – 0 – 借位 = 0

l1 – 1 – 借位 = 1有借位

以下是二进制减法的完整例子:

0101


0011

---------

步骤1:将最低位的两个位相减(1 – 1 = 0)

0101


0011

------------

0

步骤2:将第1位的两个位相减( 0 – 1 = 1 + 借位)

0101


0011

b

------------

10

步骤3:将第2位的两个位相减,再减去借位( 1 – 0 – b = 0 )

0101


0011

------------

010

步骤4:将第3位的两个位相减

0101


0011

------------

0010

以下是其他例子:

1100_1101

1001_1111

0111_0111


0011_1011

0001_0001

0000_1001

------------------
------------------
------------------

1001_0010

1000_1110

0110_1110
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曲诗晗骆奥
2019-02-12 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:873万
展开全部
3.1.2
二进制减法
二进制减法也很简单,与加法一样,二进制减法有八条规则:
l0

0
=
0
l0

1
=
1
有借位
l1

0
=
1
l1

1
=0
l0

0

借位
=
1有借位
l0

1

借位
=
0有借位
l1

0

借位
=
0
l1

1

借位
=
1有借位
以下是二进制减法的完整例子:
0101

0011
---------
步骤1:将最低位的两个位相减(1

1
=
0)
0101

0011
------------
0
步骤2:将第1位的两个位相减(
0

1
=
1
+
借位)
0101

0011
b
------------
10
步骤3:将第2位的两个位相减,再减去借位(
1

0

b
=
0

0101

0011
------------
010
步骤4:将第3位的两个位相减
0101

0011
------------
0010
以下是其他例子:
1100_1101
1001_1111
0111_0111

0011_1011

0001_0001

0000_1001
------------------
------------------
------------------
1001_0010
1000_1110
0110_1110
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
进步小老头
2018-07-16
知道答主
回答量:5
采纳率:0%
帮助的人:4281
展开全部

你好

二进制相减的具体规则跟真值的编码方式有关系,如:原码,补码等。

现在假设两数为无符号整数且总是较大减去较小。(因为无符号数不能表示负数,所以不能小减大)

将减数逐位取反,末位加1,然后与被减数相加即可,不需要考虑借位的问题。

例1:

被减数:110000 减数:010111(与被减数对齐)

  • 减数取反(即0变成1,1变成0):101000

  • 末位加1:101001

  • 与被减数相加:

  • 110000

  • 101001

  • +

  • ----------

  • 1011001 (将超过被减数长度的部分丢弃)

  • 由于存在这样一个事实:两个非负数相减,其值不可能大于这两者。也就是长度不能超过被减数,故将最左边的1丢弃

    例2:被减数:11(十进制3),减数:10(十进制2);

    减数取反加1:01+1=10(又变回来了)

    相加:

  • 11

  • +10

  • -----

  • 101(舍去最左边的1既是正确答案 01)

  • 如果一眼看过去没有借位的情况,直接减即可。取反加1倒是麻烦了

    例3: 被减数:11001010(十进制 202),减数:00001001(十进制 9)

    减数取反加一:11110111

    相加:

  • 11001010

  • +11110111

  • ----------------

  • 111000001(舍去最左边的1 即是正确答案:11000001)

  • 以上。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
105740758
2018-05-11 · TA获得超过361个赞
知道小有建树答主
回答量:691
采纳率:80%
帮助的人:164万
展开全部
就是把借位的最后个数想成2,其余的0想成1,被借掉的那个数想成0就可以了。
比如1000-1可以想成1000-0001,由于个位数0-1不够,只能向前借,十位百位都是0,借不到,只能借千位的1,千位的1被借走后1000变成了0112,就用0112-0001=0111,这样就清楚了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式