使用AND,OR,XOR门进行按位旋转

时间:2014-04-24 02:55:25

标签: binary bit-manipulation boolean-logic electronics

如何仅使用AND,OR,XOR门旋转4位二进制数4位?

输入可以称为x_0x_1x_2x_3,其中x_3是MSB,x_0是LSB。

例如1010向右旋转4个位置将是0101

我似乎无法找到任何来源。

2 个答案:

答案 0 :(得分:1)

在任一方向上旋转4位的4位数字与您开始时的数字相同。我觉得有人在跟你开玩笑。

实际上你所展示的是位反转数字,而不是旋转它。

要将位反转器实现为组合功能,需要4根电线。将输入[i]连接到输出[3-i]。

要将其实现为状态机,请使用门实现4个时钟D型触发器(参见the Wikipedia page for a diagram。将输入[i]连接到输出[3-i]。

答案 1 :(得分:0)

由于您将4个位置移动4位二进制数,因此您将得到相同的数字。

例如,如果您具有二进制数1000,则旋转将为:

1st:0100 - 第二名:0010 - 第3名:0001 - 第四名:1000

如您所见,经过4次旋转后,您将获得相同的数字。那你就不需要任何AND,OR,XOR门。