作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须使用一种算法,该算法需要整数矩阵作为输入。我的输入是实值,因此我想在将输入传递给算法之前将其转换为整数。
我虽然将输入缩放一个大常数,然后将其四舍五入为整数。这看起来是一个很好的解决方案,但是如何决定使用一个好的常量,特别是因为浮点输入的范围可能因情况而异?还有其他想法也欢迎吗?
最佳答案
这个问题的最佳一般答案可能是找出您的算法可以接受作为矩阵中的元素而不会导致算法本身溢出的最大整数值是多少。获得该最大值后,找到输入数据中的最大浮点值,然后按这两个最大值的比率缩放输入,并四舍五入到最接近的整数(避免截断)。
实际上,您可能无法执行此操作,因为您可能无法确定算法在不溢出的情况下可以接受的最大整数值是多少。也许您不知道算法的细节,或者它以复杂的方式依赖于所有输入值。如果是这种情况,您只需选择一个似乎工作得足够好的任意最大输入值。
关于c - 如何将浮点输入转换为整数并保持最大精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12406139/
我是一名优秀的程序员,十分优秀!