gpt4 book ai didi

objective-c - iPhone/iPad double 学

转载 作者:技术小花猫 更新时间:2023-10-29 11:23:20 28 4
gpt4 key购买 nike

此社区 Wiki 问题的公认答案:What are best practices that you use when writing Objective-C and Cocoa?说 iPhone 不能进行 double 学运算(或者更确切地说,它们可以,但只能在软件中模拟。)不幸的是,它提供的 2009 链接作为引用:Double vs float on the iPhone直接反驳了这个说法。这两个都是老版本了,是3GS刚出来的时候写的。

那么最新的 arm7 架构有什么故事呢?我是否需要担心第二个链接引用的“thumb”编译器标记?我可以安全地使用 double 变量吗?我对 386SXs 和 DXs 以及“数学协处理器”的黑暗岁月有着令人讨厌的记忆。告诉我现在是 2012 年,我们已经继续前进。

最佳答案

在所有 iPhone 中,没有理由不支持 double 。它们都使用 Cortex-A8 架构和 cp15 协处理器(在硬件上支持 IEEE float 和 double 计算)。

http://www.arm.com/products/processors/technologies/vector-floating-point.php

所以是的,您可以安全地使用 double ,它不应该是在 iPhone 上模拟的软件。虽然这是在硬件中完成的,但执行双数学算术与单(浮点)可能仍然需要更多的周期。除了使用 double 之外,我还会检查以确保精度适合您的应用程序。

附带说明一下,如果处理器支持 NEON 指令集,则 double 和 float 的计算速度可能比使用协处理器更快。

http://pandorawiki.org/Floating_Point_Optimization#Compiler_Support

编辑:虽然 VFP 和 Neon 是 ARM 内核的可选扩展,但大多数 cortex-A8 都有它们,而且所有这些都在 iPhone 和 iPad 中使用。

关于objective-c - iPhone/iPad double 学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8854001/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com