正弦 180 的值为 1.22465e-16

2024-01-21

我想在ios4中实现一个正弦和余弦计算器:

if([operation isEqual:@"sin"]){
    operand = (operand*M_PI/180.0);
    operand=sin(operand);
}

该代码为我提供了 0 到 90 之间的值的正确答案。

当我给出 180 的值时,我得到1.22465e-16作为答案。我预计为零。

这个微小的差异从何而来?


只是为了清楚起见,你的程序is给你正确答案。也就是说,它完全按照您在代码中告诉它的方式执行。

180*M_PI正确舍入(根据 IEEE-754),并给出值:

565.4866776461627750904881395399570465087890625

除以 180 也可以正确舍入,并给出结果:

3.141592653589793115997963468544185161590576171875

这不是exactlyπ 的数学值。事实上,它是:

π - 0.0000000000000001224646799147...

泰勒级数的一阶项sin(x)π 周围是 (π-x),所以sin(π - x)是,对于小x,几乎完全一样-x。事实上,你得到的结果是正确舍入的结果。图书馆不可能提供更准确的答案。

As 本·沃伊特建议,如果这对您来说确实是一个问题,您可以通过在从角度转换为弧度之前将参数减少到范围 [-90, 90) 来解决它。更好的建议是njuffa是要使用一个sinpi函数将为您完成这项工作。 iOS没有这个功能,但是有vvsinpi,它实现了向量的 sin(π*x),并且可以做你想做的事:

double result;
int vectorLength = 1;
vvsinpi(&result, &operand, &vectorLength);

另请提交错误请求sinpi作为扩展添加到数学库中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正弦 180 的值为 1.22465e-16 的相关文章

  • UIAlertController 在 iOS 9 中不工作

    I have added the UIAlertController code showing login and password textfields it works for iOS 8 but in iOS 9 not works
  • 带 ModalPresentationStyle 的弹出框在 iOS 7 iPad 中不居中

    我在使用 iOS 7 时遇到了一个问题 这似乎是一个错误 或者只是我没有做正确的事情 我有 modalViewController 它在 iPad 上以 ModalPresentationStyle 的形式显示为弹出窗口 而且它不是标准尺寸
  • iOS:调用 Objective-C 方法的处理开销是多少?

    我正在编写一些实时音频处理代码 该代码将在音频单元的渲染回调中执行 该线程处于系统识别的最高优先级 Apple 指示最大限度地减少此调用中进行的处理量 他们的建议之一是避免 Objective C 方法调用 But why 调用 Objec
  • 如何在iPhone应用程序中的类结构中实现主键和外键表数据[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何连接sqlite数据库中的两个表数据 if sqlite3 open dbPath UTF8String database SQL
  • UIButton 图像未更改/更新

    首先 我对 Objective C 还很陌生 并且仍在尝试尽可能多地学习 所以请耐心等待 现在我有一个以编程方式创建的 UIButton 按下按钮时 将显示一个 UIActionSheet 其中包含 相机 选择照片 或 取消 选项 然后 按
  • 释放 Core Foundation 对象引用

    我是否需要释放 Core Foundation 对象来清理内存 如果是这样 怎么办 例如 在代码中 ABAddressBookRef addressBook ABAddressBookCreate CFArrayRef peopleArra
  • 最小的 iOS 蓝牙管理器示例

    我一直在构建一个最小的示例 用于使用 iOS 5 0 中的 BluetoothManager 私有框架来检测附近的蓝牙设备 使用此问题中找到的答案 寻找触手可及的通用蓝牙设备 https stackoverflow com question
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 为什么 Go 中只有 int 而没有 float?

    在 Go 中 有这样的类型int这可能相当于int32 or int64取决于系统架构 我可以声明一个整数变量而不用担心它的大小 var x int 为什么没有这个类型float 这相当于float32 or float64取决于我的系统架
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • insertNewObjectForEntityForName:

    我使用 Xcode xcdatamodel 文件编辑器设置了一个实体 我创建了一个名为 Person 的实体 添加了一些属性 然后生成了一个 m 文件来表示它 一切都很好 现在 当我去编写一行代码时 例如 Person person Per
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 如何在 NSTextView 中使用 SPACE 而不是 TAB

    我只知道如何修改 NSTextView 中的制表符宽度 NSMutableParagraphStyle paragraphStyle self defaultParagraphStyle mutableCopy paragraphStyle
  • 有什么方法可以询问方法的名称吗?

    我正在尝试调试我正在开发的 iPhone 应用程序 向各种源文件添加 50 条 NSLog 语句的想法让我感到很兴奋 我想做的是写一对陈述 比如 NSString methodName self methodName NSLog metho
  • UIViewController 不旋转到横向

    在许多情况下需要旋转控制器但不起作用 现在我遇到了相反的问题 它正在旋转 我想禁用它 在那个 ViewController 中我有这个 BOOL shouldAutorotateToInterfaceOrientation UIInterf
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 无法插入到 Supabase 中具有经过身份验证的角色策略的表

    我正在尝试在启用了 RLS 的表中插入一行Enable insert for authenticated users only政策已添加 不幸的是 即使我正确登录 我也无法插入 重现步骤 创建提交表 create table submiss
  • PHP 部分缓存

    我想部分缓存一些 php 文件 例如 所以缓存的页面应该像 缓存 php h1 This section is fixed today h1 div goodbye please visit todays suggested website
  • AppleScript 在 Finder 中设置目录路径

    我正在尝试通过 AppleScript 删除计算机上的文件 当我应用下面的代码时 似乎从桌面上删除了该文件 我想删除 Users andrew Documents 中的文件 下面是从桌面删除文件的代码 tell application Fi
  • 使用 Rspec 存根 File.open

    我正在尝试存根 File open 以测试读取 CSV 文件的方法 这是模型 class BatchTask def import filename CSV read filename row sep gt r col sep gt end
  • 适用于超大时间序列的最佳索引数据结构

    我想询问 SO 们关于用于索引时间序列 又名按列数据 又名平面线性 的最佳数据结构的意见 根据采样 离散化特征 存在两种基本类型的时间序列 常规离散化 每个样本都以共同频率采集 不规则离散化 任意时间点采样 需要的查询 时间范围 t0 t1
  • 泛型方法和方法重载

    方法重载允许我们定义许多具有相同名称但具有不同参数集的方法 因此具有相同的名称但不同的签名 这两个方法是否重载 class A public static void MyMethod
  • 找不到`SQLitePCLRaw.batteries_v2`

    我添加了一个sqlite net pclNuGet 包到 Xamarin iOS 项目 该应用程序以以下异常结束 找不到程序集引用的 SQLitePCLRaw batteries v2 SQLite net 版本 1 1 0 0 文化 中性
  • 从 .html 文件读取其内容的简单 Flask 应用程序。外部样式表被阻止?

    我制作了一个非常简单的 Flask 应用程序 它从 html 文件读取其内容 除了样式之外 该应用程序可以正常工作 奇怪的是 我的内联 CSS 代码可以工作 但外部样式表却不能工作 我已经检查过语法 它应该可以工作 Flask 是否会以某种
  • 如何编写可变参数模板递归函数?

    我正在尝试编写一个可变参数模板constexpr计算给定模板参数总和的函数 这是我的代码 template
  • 快速安全的加密算法 C#

    我正在寻找一种使用 C 实现的快速且安全的加密算法 我需要能够恢复初始消息 你有什么建议 感谢您的帮助 如果需要非对称加密 请使用 2048 位 RSA 如果您可以使用对称加密 请使用 256 位 AES MSDN 参考 系统 安全 密码学
  • 自动调整用户表单大小

    目标是一个可以自动调整大小以显示所有可见控件但没有额外死区的用户窗体 顶部始终可见 3 个组合框 但在其下方是 26 个标签及其关联的 5 个选项按钮 复选框 这 26 行将全部开始隐藏 并且仅在特定条件下可见 三个组合框中的第一个将说明
  • 如何使用 DataTemplates 通过 ViewModel-First 方法缓存动态切换的视图

    我在用GalaSoft MvvmLight框架 我的一些看法MainWindow xaml我通过用户选择在运行时动态地在它们之间切换 这些视图使用以下技术与其相应的视图模型绑定 主窗口 xaml
  • 如何将存储库镜像同步到新的上游存储库

    我有一个仓库镜像服务器 myrepo 最初是为了镜像而创建的 与远程同步 repoA 也就是说 我使用类似以下的内容来创建它 cd myrepo repo init u git repoA server manifest git mirro
  • RedHat Enterprise Linux 5.3 及以上版本不正确支持 sem_timedwait?

    我们在使用 pthreadsem timedwait 的 RedHat Enterprise Linux 系统上看到了奇怪的行为 仅 5 3 及以上版本才会出现此情况 当我们使用 sem init 在后台线程上创建信号量时 不会返回错误 当
  • Xcode 错误:缺少必需的模块“Firebase”

    问题 我有一个动态框架 它使用Firebase由 cocoapods 添加 我还有应用程序 它使用这个动态框架 但是当我尝试构建项目时出现错误Missing required module Firebase 我尝试了以下方法 删除派生数据
  • 持续监控前 X 个进程的 CPU 使用率

    我希望能够每 5 秒将最高 CPU 消耗者输出到日志文件 这样我就可以在测试期间看到谁使用了最多的 cpu 我发现这个答案很常见 cpu Get Counter ComputerName localhost Process Processo
  • Mojolicious 中用于处理不同路径的全局变量和线程

    在我的 Mojolicious perl 代码中 我处理从远程客户端创建和监视的作业 我将作业保存在哈希数组中 这是一个全局变量 然后它在 PUT job create 和 GET job status 的处理程序中使用 当使用 PUT j
  • 映射抽象类和子类时NHibernate DuplicateMappingException

    我有一个抽象类及其子类 我想使用 NHibernate 将其映射到我的数据库 我在用着Fluent https github com FluentNHibernate fluent nhibernate wiki Fluent config
  • 连接故事板中 Cell Prototype 的插座

    我是故事板的新手 所以我遇到了一些困难 我已经创建了一个 TableViewController 我想自定义单元原型 在单元格原型中 我添加了几个标签 我想用我自己的继承自 UITableViewCell AreaListCell 的类进行
  • 正弦 180 的值为 1.22465e-16

    我想在ios4中实现一个正弦和余弦计算器 if operation isEqual sin operand operand M PI 180 0 operand sin operand 该代码为我提供了 0 到 90 之间的值的正确答案 当