所以,我正在制作一个 Hack CPU 模拟器,我想知道计算输出的最佳方法是什么。将输出计算压缩为一行不可读的行会比一次计算结果更有效吗?编译器是否对其进行了优化以使两个选项都可以?基本上,哪一个更有效——
这:
word HackALU(word x, word y, bool zx, bool nx, bool zy, bool ny, bool f, bool no) { x = zx ? 0:x; y = zy ? 0:是的; x = nx ? 〜x:x; y = y ? 〜y:是的; 单词结果 = f ? x + y : x & y; 返回不?〜结果:结果; }
或这个:
word HackALU(word x, word y, bool zx, bool nx, bool zy, bool ny, bool f, bool no) { 返回不?〜(f?((nx?〜(zx?0:x):(zx?0:x))+(ny?〜(zy?0:y):(zy?0:y))):(( nx ? ~(zx ? 0 : x) : (zx ? 0 : x)) & (ny ? ~(zy ? 0 : y) : (zy ? 0 : y)))) : (f ? ((nx ? 〜(zx?0:x):(zx?0:x))+(ny?〜(zy?0:y):(zy?0:y))):((nx?〜(zx?0: x) : (zx ? 0 : x)) & (ny ? ~(zy ? 0 : y) : (zy ? 0 : y)))); }