Binary 4位2'的提示;s补减法

Binary 4位2'的提示;s补减法,binary,twos-complement,xilinx-ise,Binary,Twos Complement,Xilinx Ise,我必须使用Xilinx、Virtex 6和VHDL为uni课程设计和实现一个4位处理器。我真的不知道这些都是什么意思,我只是一名一年级的学生。这些是我们收到的关于这个项目的指示 我们需要能够计算以下各项: |X/2-Y| 所以X/2-Y的绝对值,我们必须对X=9,Y=12,X=13,Y=1进行计算 我知道减法是和负数相加(2的补码),除以2是位的右移 我不明白的是,如果我们必须使用2的补码(因为我们是减法的),如何将9、12和13表示为4位数字。我认为这与我们需要取绝对值有关,但我不明白。我不是

我必须使用Xilinx、Virtex 6和VHDL为uni课程设计和实现一个4位处理器。我真的不知道这些都是什么意思,我只是一名一年级的学生。这些是我们收到的关于这个项目的指示

我们需要能够计算以下各项:

|X/2-Y|

所以X/2-Y的绝对值,我们必须对X=9,Y=12,X=13,Y=1进行计算

我知道减法是和负数相加(2的补码),除以2是位的右移

我不明白的是,如果我们必须使用2的补码(因为我们是减法的),如何将9、12和13表示为4位数字。我认为这与我们需要取绝对值有关,但我不明白。我不是在问处理器的接线问题,但我希望能得到一些技巧来解决仅使用4位操作的问题

以下是处理器的示意图:


诀窍可能是计算相反的值:|X/2-Y |=|Y-X/2 |


由于X/2是3位,现在可以对其进行补码以进行减法运算。

在我看来,所有测试输入都是正数,结果必然是正数,因此不需要表示负数。输入和输出更有可能是无符号4位值。