【发布时间】:2010-11-25 10:36:46
【问题描述】:
---------更新了------------
到目前为止,codymanix 和 moonshadow 提供了很大的帮助。我能够使用方程式解决我的问题,而不是使用右移除以 29。因为 32 位有符号 2^31 = 溢出到 29。哪个有效!
PHP 中的原型
$r = $x - (($x - $y) & (($x - $y) / (29)));
LEADS 的实际代码(每行只能执行一个数学函数!!!啊啊啊!!!)
DERIVDE1 = IMAGE1 - IMAGE2;
DERIVED2 = DERIVED1 / 29;
DERIVED3 = DERIVED1 AND DERIVED2;
MAX = IMAGE1 - DERIVED3;
---------原始问题------------
由于我的应用程序的限制,我认为这不太可能,但我认为值得一试。
我会尽量简化。我需要在无法使用 IF 或任何条件语句的情况下找到两个数字之间的最大值。
为了找到 MAX 值,我只能执行以下功能
Divide, Multiply, Subtract, Add, NOT, AND ,OR
假设我有两个数字
A = 60;
B = 50;
现在如果 A 总是大于 B,那么找到最大值会很简单
MAX = (A - B) + B;
ex.
10 = (60 - 50)
10 + 50 = 60 = MAX
问题是 A 并不总是大于 B。我无法使用我正在使用的脚本应用程序执行 ABS、MAX、MIN 或条件检查。
有没有办法使用上面的有限操作来找到一个非常接近最大值的值?
【问题讨论】:
-
你可以使用按位运算吗?
-
"现在如果 A 总是大于 B,那么找到最大值会很简单" Ummm... A?
-
为什么有人给出这个问题-1?这个问题没有错。但是你应该告诉你正在使用哪种编程语言。
-
我可以执行的唯一操作是 (/, *, +, -, &, |, !) 我不能进行按位移位。我给出的例子是任意数字和变量。我不会知道信息的值,当然只是变量名。我正在使用一种未记录的自定义脚本语言,用于处理天气数据,在本例中为雷达。
-
只是好奇:在这种情况下,您处于哪种类型的炼狱中?我们能把比尔盖茨关在那里吗?
标签: math conditional max algebra min