发布网友 发布时间:2022-04-23 10:15
共5个回答
热心网友 时间:2023-10-11 05:22
二进制的减法原则: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、十六进制转换为二进制:把每一位十六进制数对应转换为一个四位二进制数。
参考资料:
百度百科-二进制运算法则
热心网友 时间:2023-10-11 05:23
3.1.2 二进制减法热心网友 时间:2023-10-11 05:23
3.1.2热心网友 时间:2023-10-11 05:24
你好
二进制相减的具体规则跟真值的编码方式有关系,如:原码,补码等。
现在假设两数为无符号整数且总是较大减去较小。(因为无符号数不能表示负数,所以不能小减大)
将减数逐位取反,末位加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)
以上。
热心网友 时间:2023-10-11 05:25
就是把借位的最后个数想成2,其余的0想成1,被借掉的那个数想成0就可以了。