因此,如果我有一个数字范围'0 - 1024'并且我想将它们带入'0 - 255',则数学将要求将输入除以输入的最大值(在这种情况下为1024),这将给出我是一个介于0.0 - 1.0之间的数字.然后乘以目标范围,(255).
这就是我想要做的!
但由于某种原因,在Java中(使用Processing)它总是返回值0.
代码就像这样简单
float scale;
scale = (n/1024) * 255;
Run Code Online (Sandbox Code Playgroud)
但我得到0.0.我试过double和int.一切都无济于事.为什么!?
刚进入C++.当我看到multiply(*
)的符号被用来表示变量的解引用时,我会不断地偏离轨道
例如:
unsigned char * pixels = vidgrabber.getPixels();
这会让其他人失望吗?让我了解这个问题的秘诀是什么?
谢谢.
ps我有另一个相当简单的问题,但没有得到答案:(这里:初学者问题:加/减价值而不仅仅是那个价值请!谢谢你的时间!
为什么java不能优雅地使用除零返回某个值而是必须抛出异常?
我得到的ArrayIndexOutOfBoundsException:0
这是因为damageTaken实际上是一个存储许多不同"损害"的值数组.
在java中我正在尝试创建一个进度条.我们的例子:在赛车游戏中,通过将高度值设置为游戏前允许的最大伤害的百分比,可以造成伤害.
在该计划的开始 damageTaken = 0;
(damageTaken / maximumDamage)
Run Code Online (Sandbox Code Playgroud)
将给出0到1之间的数字.
然后我将其乘以进度条的高度,以创建适当高度的填充条.
程序崩溃了.我希望进度条高度为零!