计算机运算本质—位运算之 2-3=?
今天来给大家说说计算机的本质运算 --位运算
例子:2-3 = ?
我觉得你看这篇文章已经知道了 位运算的 概念 以及基础知识
好开始
2-3 这里演示 只写4位 即
2:0010 因为2是整数、反码、补码 都一样
因为3是负数 所以转为 补码–>1101
第一步:异或运算

第二步 :因为计算机不知道运算是否结束 要进行&运算

0000在左移一位 :看是否or有进位,左移后 结果有1 则代表没有运算完,还要将结果与第一步的结果a进行异或(or)运算,这样循环下去 ,知道 第二步的结果为0,那么a就是最终答案
上面的例子 就是最终的答案 在转换为十进制 : 1111取反+1 = 1000+1 = 1001 = -1 结果就出来了。
总结一下 就是 两数相加,正数直接转二进制异或 之后,在与运算,如果与运算的结果左移(<<)1位之后答案为0(没有1) 则 先前的异或运算后的结果就是 答案(补码形式 ,可以转为十进制)如上述的 a 就是最终答案,如果与运算之后的答案左移一位之后,还有1 那么就将有1的这个答案在和异或运算的结果在 异或运算,在重复操作即可。
320

被折叠的 条评论
为什么被折叠?



