floating-point - 使用浮点可以有效地模拟哪些整数运算?
问题描述
我需要在本机支持 16 位整数数学和 32 位浮点运算的处理器上工作。一些针对处理器的算法要求整数数学精度高于 16 位。最直接的选择是使用 16 位整数运算进行模拟。我注意到一些架构支持 24 位整数数学运算。我怀疑这与尾数大小为 24 位有关。所以浮点单元以某种方式被用于整数数学。在某些情况下是否可以使用浮点指令来提高效率?
解决方案
假设 IEEE-754 浮点,任何幅度高达 2^24 的整数都是可精确表示的,并且所有产生范围内结果的操作都将产生精确的整数结果。(当然,您需要手动处理除法结果的舍入。)对于更广泛的整数类型,有某些 FP 技术(基于将单个数字存储为具有非重叠有效位的多个浮点数的总和)但那些可能比仅仅进行传统的多字算术运算要慢得多。
推荐阅读
- python - cv2.matchtemplate opencv 内置函数需要不希望的时间来执行
- python - Python: OpenCV findHomography inputs
- android-studio - 在 API 19 上出现 UnsatisfiedLinkError - 高级分析已禁用
- python - object has no attribute error in gui
- vba - VBA:对于循环隐藏行不起作用
- python - mySQL 多行动态插入 Python
- javascript - JS bind() 做什么来防止我的代码被重新绑定到另一个 this 上下文?
- angular - 从 Angular 2 前端到 springboot 服务的 POST 请求在 Chrome 浏览器中失败
- angular - 尝试使用 rxjs 和 angular 2 创建无限滚动
- python - 替换熊猫数据框中的单元格值