C 使用
如何使用左移位位运算符编写下面的C表达式x*6与x*4+2的2次幂相同;二进制中的6与x*4+x*2相同,只需使用乘法运算符即可。重写会降低代码的可读性,明天您将无法理解代码。让编译器决定乘以6的最佳方式@Eraklon:x@RaymondChen:像这样的教程演示的目标不是找到最佳表达式。目标包括教学生操作符如何工作,也许还包括如何转换各种表达式以及如何使用它们。插嘴说“只是”使用其他东西并不比打断一节小学课更有帮助,在这节课上,学生们正在学习在列中添加数字,并建议他们只使用计算器。这是没有帮助的。学生们需要学习这些材料,而不是逃避它,即使计算机可以为他们做。或者x+x+x+x+x+x@EricPostpischil从技术上说,是的,实际上,我怀疑OP的老师会喜欢这个解决方案。另外,对于x=5,y=5*6给出30,但x不需要假设2的补码运算。@Ayxan根据定义,valC 使用,c,bit-manipulation,expression,C,Bit Manipulation,Expression,如何使用左移位位运算符编写下面的C表达式x*6与x*4+2的2次幂相同;二进制中的6与x*4+x*2相同,只需使用乘法运算符即可。重写会降低代码的可读性,明天您将无法理解代码。让编译器决定乘以6的最佳方式@Eraklon:x@RaymondChen:像这样的教程演示的目标不是找到最佳表达式。目标包括教学生操作符如何工作,也许还包括如何转换各种表达式以及如何使用它们。插嘴说“只是”使用其他东西并不比打断一节小学课更有帮助,在这节课上,学生们正在学习在列中添加数字,并建议他们只使用计算器。这是没有帮
y = x * 6;