Math 奇怪的基本数学公式

Math 奇怪的基本数学公式,math,obfuscation,formula,basic,deobfuscation,Math,Obfuscation,Formula,Basic,Deobfuscation,我喜欢转换旧的基本游戏-我遇到过一个有这种奇怪公式的游戏。目前我用帕斯卡语写,但我可以用任何语言写。在翻阅了代码之后,我找不到这个变量是否在使用中,但仍然想知道BASIC当时使用的是哪种数学快捷方式 d1=1-((0.23+random/10)*((d-(d int conversion),如果d50返回-1。总之,如果d>50,乘法的右半部分将等于0,因此d1将等于1。您应该使用else或三元结构(下面类似C的伪代码)编写它: 逐步解释: d1 = 1-(( 0.23 + random / 1

我喜欢转换旧的基本游戏-我遇到过一个有这种奇怪公式的游戏。目前我用帕斯卡语写,但我可以用任何语言写。在翻阅了代码之后,我找不到这个变量是否在使用中,但仍然想知道BASIC当时使用的是哪种数学快捷方式

d1=1-((0.23+random/10)*((d-(d int conversion),如果d50返回-1。总之,如果d>50,乘法的右半部分将等于0,因此d1将等于1。您应该使用else或三元结构(下面类似C的伪代码)编写它:

逐步解释:

d1 = 1-(( 0.23 + random / 10 ) * (-(d <= 50 )))

TYVM!!这很有道理。再次感谢您-永远不会太老,无法继续学习新的编程方法嘿嘿(我对pascal有一个特别的爱好)@user3808564作为旁注,我强烈反对在代码中使用这种“Kronecker delta”,因为它不仅会混淆代码(正如您已经注意到的),而且会降低代码的速度(一种情况下对常量表达式进行不必要的计算,另一种情况下对浮点乘法进行额外的不必要计算)。可悲的是,我在“严肃”代码中多次看到这种“黑客行为”(例如LAMMPS项目中的粒子势计算器)。这是我正在转换的70年代末80年代初的旧编程:-)我完全同意。由于当时的内存限制,像这样的“技巧”编程几乎是必需的。试着用1k或2k内存编写一个游戏:-)@Klyxmaster诚实地说,因为它可以在一个“如果”中完成不增加复杂性,也不增加内存占用,我只是说这是一个早熟的笨拙的工具,不是必须的。基本的应用程序通常是由初学者编写的,而不是专业人员编写的。我为微控制器编了一段时间,我用C++来编译。pimimalistic可能性,而且很少有东西我可以写得比它已经更好,由C++编译器本身(我在使用GNU,而不是英特尔-“较小”,请注意我)…
d1 = 1-(( 0.23 + random / 10 ) * (-(d <= 50 )))
if ( d <= 50 )
  d1 = 1-(( 0.23 + random / 10 ) * (-TRUE)))
else
  d1 = 1-(( 0.23 + random / 10 ) * (-FALSE)))
if ( d <= 50 )
  d1 = 1-(( 0.23 + random / 10 ) * (-1)))
else
  d1 = 1-(( 0.23 + random / 10 ) * (-0)))
if ( d <= 50 )
  d1 = 1 - (( 0.23 + random / 10 ) * -1))
else
  d1 = 1 - (( 0.23 + random / 10 ) * 0))
if ( d <= 50 )
  d1 = 1 - (-( 0.23 + random / 10 ))
else
  d1 = 1 - (0)
if ( d <= 50 )
  d1 = 1 + ( 0.23 + random / 10 );
else
  d1 = 1;
d1 = (d > 50) ? 1 : 1.23 + random / 10;