ytr*_*od1 3 binary cpu electronics division bitwise-operators
我有一个算法,在循环中使用C位运算符(<<,&,^,|,〜)执行2个64位无符号整数的除法.
现在我想完全消除左移<<运算符以理解这是如何完成的,因为我已经可以合成AND,OR,XOR,而不是使用NAND门.
是否可以通过JUST NAND门执行左移1?我已经阅读了一些关于电子触发器的内容,但我在纯软件中实现它只是为了理解它.
我想完全避免使用<<或>>运算符,并且不希望使用包括汇编在内的任何计算机语言的现有算术运算符.
我不是在大学或做这个作业作业,只是好奇它是如何工作的,并希望在正确的方向上提供一些帮助.
在硬件中,您可以实现左移1而不需要任何逻辑门.只需像这样连接数据线:

如果你想要更通用的东西,你可以实现一个桶形移位器.这可以从多路复用器合成:
桶式移位器http://images.books24x7.com/bookimages/id_7951/fig9-1.jpg
而这又可以从NAND门合成.
以下是关于该主题的综合硕士论文:桶形移位器设计,优化和分析.