在上篇博文求相反的数中,做而论道介绍了 “求相反的数” 的算法与电路。 “求相反的数” ,也就是计算机专业教材中所谓的 “求补运算”。 做而论道是用减法电路实现的,要比计算机专业所推崇的 “取反加一” 的方法,更为简单和易于理解。 毕竟,“取反加一”,是难以看出有什么理论依据的。
在本篇博文中,做而论道打算利用 ALU,算出计算机中补码的绝对值。
正数的补码,其绝对值是比较容易看出来的。 因为正数补码的最高位是 0,0 后面的二进制数,就是该数的绝对值。 也可以说:正数补码本身,就是绝对值,不需要做任何变换。
负数的补码,其最高位必定是 1。 1 后面的二进制数,则需要经过变换,才能得到该数的绝对值。 怎么变换呢? 计算机教材中所写的,就又是 “取反加一” 了。
如果你看过做而论道的上篇博