func TestShell_Exect testingT tt = 50 tt = tt-1255100-1 + 2 loggerInfott为什么tt是100而不是128如何解决
在这段代码中,tt的计算是通过线性映射将[1,50]的范围映射到[2,255]的范围。根据线性映射的公式:
new_value = (old_value - old_min) * (new_max - new_min) / (old_max - old_min) + new_min
其中old_value为原始值,old_min和old_max为原始范围的最小值和最大值,new_min和new_max为目标范围的最小值和最大值。
在这里,old_value为50,old_min为1,old_max为50,new_min为2,new_max为255。根据上述公式计算:
tt = (50 - 1) * (255 - 2) / (50 - 1) + 2 tt = 49 * 253 / 49 + 2 tt = 253 + 2 tt = 255
所以tt的计算结果为255而不是128。
如果你想要tt的计算结果为128,可以调整线性映射的参数。例如,你可以将new_max设置为128,然后重新计算tt的值:
tt = (50 - 1) * (128 - 2) / (50 - 1) + 2 tt = 49 * 126 / 49 + 2 tt = 126 + 2 tt = 128
这样就能得到tt的计算结果为128。
代码示例:
func TestShell_Exec(t testing.T) { tt := 50 tt = (tt-1)(128/(100-1)) + 2 logger.Info(tt) }
这样tt的计算结果就会是128了。
原文地址: https://www.cveoy.top/t/topic/hDGR 著作权归作者所有。请勿转载和采集!