计算机计算4+5
#计算机是怎么操作的?
0000 0100
0000 0101
-------------(计算机是不会直接进行加操作的)
#计算机做加法的原理
#第一步:异或。如果不考虑进位,计算机是可以直接出结果的。
0000 0100
0000 0101
-------------(异或运算)
0000 0001
#第二步:与运算(与运算是用来判断进位的,如果运算结果为0,则没有进位)
0000 0100
0000 0101
-------------(与运算)
0000 0100
#第三步:将与运算的结果左移1位。第二步与运算结果左移1位是0000 1000
#第四步:异或。将第一步异或结果与第三步左移结果异或运算。
0000 0001
0000 1000
-------------
0000 1001
#第五步:与运算。将第一步异或结果与第三步左移结果与运算。结果为0,说明无进位。
0000 0001
0000 1000
-------------
0000 0000
#第五步结果为0,则第四步结果为最终计算结果。0000 1001
总结:计算机做加法,就是异或,与,移位,循环计算。
计算机做4-5
#计算机是怎么操作的?
0000 0100
1111 1011(-5的补码)
-------------(计算机是不会直接进行加操作的)
#第一步:异或。
0000 0100
1111 1011(-5的补码)
-------------(异或)
1111 1111
#第二步:与运算。(与运算是用来判断进位的,如果运算结果为0,则没有进位)
0000 0100
1111 1011
-------------(与)
0000 0000
#第二步与的结果为0,则第一步计算结果为最终计算结果。
FF有符号数指的是-1,无符号数指的是255。
乘法:x*y,就是y个x相加,本质是加法。
除法:x/y,x可以减去多少个y,本质是减法,减法的本质还是加法。
结论:计算机只会做加法。
负数在计算机中是以补码的形式存储的。