如何仅使用AND,OR,XOR门旋转4位二进制数4位?
输入可以称为x_0
,x_1
,x_2
,x_3
,其中x_3
是MSB,x_0
是LSB。
例如1010
向右旋转4个位置将是0101
。
我似乎无法找到任何来源。
答案 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门。