C++11标准模板(STL)- 常用数学函数 - 计算双曲正弦 (sh(x))(std::sinh, std::sinhf, std::sinhl)

常用数学函数

计算双曲正弦 (sh(x))

std::sinh, 
std::sinhf, 
std::sinhl

定义于头文件 <math.h>

float       sinhf( float arg );

(1)(C99 起)

double      sinh( double arg );

(2)

long double sinhl( long double arg );

(3)(C99 起)

定义于头文件 <tgmath.h>

#define sinh( arg )

(4)(C99 起)

1-3) 计算 arg 的双曲正弦。

4) 泛型宏:若参数拥有 long double 类型,则调用 sinhl 。否则,若参数拥有整数类型或 double 类型,则调用 sinh 。否则调用 sinhf 。若参数为复数,则宏调用对应的复数函数( csinhf 、 csinh 、 csinhl )。

参数

arg-表示双曲角的浮点值

返回值

若不出现错误,则返回 arg 的双曲正弦( sinh(arg) 或

earg
-e-arg
2

)。

若出现上溢所致的值域错误,则返回 ±HUGE_VAL±HUGE_VALF±HUGE_VALL

若出现下溢所致的值域错误,则返回(舍入后的)正确结果。

错误处理

报告 math_errhandling 中指定的错误。

若实现支持 IEEE 浮点算术( IEC 60559 ),则

  • 若参数为 ±0 或 ±∞ ,则返回不修改的参数
  • 若参数为 NaN ,则返回 NaN

注意

POSIX 指定在下溢情况下,返回不修改的 arg ,而若不支持如此,则返回不大于 DBL_MIN 、 FLT_MIN 和 LDBL_MIN 的实现定义值。

调用示例

#include <iostream>
#include <cstdlib>
#include <typeinfo>
#include <cinttypes>
#include <cmath>
#include <math.h>
#include <tgmath.h>int main()
{//1-3) 计算 arg (以弧度度量)的正弦。const float fNumber = std::acos(-1);std::cout << "typeid(float).name():   " << typeid(float).name() << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::sinh(" << fNumber / i << "):   "<< std::sinh(fNumber / i) << std::endl;}std::cout << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::sinh(" << - fNumber / i << "):   "<< std::sinh(- fNumber / i) << std::endl;}std::cout << std::endl;const double dNumber = std::acos(-1);for (int i = 1; i <= 10; i += 1){std::cout << "std::sinh(" << dNumber / i << "):   "<< std::sinh(dNumber / i) << std::endl;}std::cout << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::sinh(" << - dNumber / i << "):   "<< std::sinh(- dNumber / i) << std::endl;}std::cout << std::endl;const long double ldNumber = std::acos(-1);std::cout << "typeid(long double).name():   " << typeid(long double).name() << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::sinh(" << ldNumber / i << "):   "<< std::sinh(ldNumber / i) << std::endl;}std::cout << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::sinh(" << - ldNumber / i << "):   "<< std::sinh(- ldNumber / i) << std::endl;}std::cout << std::endl;return 0;
}

输出

typeid(float).name():   f
std::sinh(3.14159):   11.5487
std::sinh(1.5708):   2.3013
std::sinh(1.0472):   1.24937
std::sinh(0.785398):   0.868671
std::sinh(0.628319):   0.670484
std::sinh(0.523599):   0.547853
std::sinh(0.448799):   0.464018
std::sinh(0.392699):   0.40287
std::sinh(0.349066):   0.356198
std::sinh(0.314159):   0.319353std::sinh(-3.14159):   -11.5487
std::sinh(-1.5708):   -2.3013
std::sinh(-1.0472):   -1.24937
std::sinh(-0.785398):   -0.868671
std::sinh(-0.628319):   -0.670484
std::sinh(-0.523599):   -0.547853
std::sinh(-0.448799):   -0.464018
std::sinh(-0.392699):   -0.40287
std::sinh(-0.349066):   -0.356198
std::sinh(-0.314159):   -0.319353std::sinh(3.14159):   11.5487
std::sinh(1.5708):   2.3013
std::sinh(1.0472):   1.24937
std::sinh(0.785398):   0.868671
std::sinh(0.628319):   0.670484
std::sinh(0.523599):   0.547853
std::sinh(0.448799):   0.464018
std::sinh(0.392699):   0.40287
std::sinh(0.349066):   0.356198
std::sinh(0.314159):   0.319353std::sinh(-3.14159):   -11.5487
std::sinh(-1.5708):   -2.3013
std::sinh(-1.0472):   -1.24937
std::sinh(-0.785398):   -0.868671
std::sinh(-0.628319):   -0.670484
std::sinh(-0.523599):   -0.547853
std::sinh(-0.448799):   -0.464018
std::sinh(-0.392699):   -0.40287
std::sinh(-0.349066):   -0.356198
std::sinh(-0.314159):   -0.319353typeid(long double).name():   e
std::sinh(3.14159):   11.5487
std::sinh(1.5708):   2.3013
std::sinh(1.0472):   1.24937
std::sinh(0.785398):   0.868671
std::sinh(0.628319):   0.670484
std::sinh(0.523599):   0.547853
std::sinh(0.448799):   0.464018
std::sinh(0.392699):   0.40287
std::sinh(0.349066):   0.356198
std::sinh(0.314159):   0.319353std::sinh(-3.14159):   -11.5487
std::sinh(-1.5708):   -2.3013
std::sinh(-1.0472):   -1.24937
std::sinh(-0.785398):   -0.868671
std::sinh(-0.628319):   -0.670484
std::sinh(-0.523599):   -0.547853
std::sinh(-0.448799):   -0.464018
std::sinh(-0.392699):   -0.40287
std::sinh(-0.349066):   -0.356198
std::sinh(-0.314159):   -0.319353

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1558380.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

立体扬声器棒球帽专利TRO维权,速查避免踩坑

案件基本情况起诉时间&#xff1a;2024-9-18案件号&#xff1a;24-cv-08626原告&#xff1a;Audiowear Technology Corporation原告律所&#xff1a;Loza & Loza, LLP起诉地&#xff1a;伊利诺伊州北部法院品牌介绍Audiowear Technology Corporation&#xff0c;一家位于特…

SpringMVC框架:入门讲解和基础案例解析

Spring Web MVC是什么&#xff1f; Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。使用了MVC架构模式的思想&#xff0c;将web层进行职责解耦&#xff0c;基于请求驱动指的就是使用请求-响应模型 。框架的目的就是帮助我们简化开发&…

嵌入式设备硬件和软件安全设计

1. 引言 哪个领域的网络安全实施记录最差&#xff1f; 既不是 PKI/数字证书&#xff0c;也不是 密钥管理&#xff0c;也不是 OAuth。很可能是嵌入式设备和物联网 领域。 总的来说&#xff0c;这似乎是一个梦想&#xff0c;但如果可设计出“设计安全”的系统&#xff0c;而不…

DHCP Snooping典型配置举例(如何防止路由器乱接问题)

全局开启DHCP Snooping配置举例 组网需求 Router B通过以太网端口Ten-GigabitEthernet0/0/6连接到合法DHCP服务器&#xff0c;通过以太网端口Ten-GigabitEthernet0/0/8连接到非法DHCP服务器&#xff0c;通过Ten-GigabitEthernet0/0/7连接到DHCP客户端。要求&#xff1a; 与合…

各省常住人口及人口密度面板数据(2000-2022年)

常住人口指在某地区居住超过一定时间&#xff08;通常为半年以上&#xff09;的人口&#xff0c;而人口密度则指每平方千米或每公顷内的常住人口数。数据集的主要指标包括&#xff1a; 省份年份常住人口&#xff08;万人&#xff09;人口密度&#xff08;人/平方公里&#xff…

每日学习一个数据结构-图

文章目录 图基础一、图的定义二、图的相关概念三、图的分类四、图的使用场景 和图相关的算法一、图的遍历算法二、最短路径算法三、最小生成树算法四、图匹配算法五、网络流算法 图基础 一、图的定义 在数学中&#xff0c;图是描述于一组对象的结构&#xff0c;其中某些对象对…

宠物咖啡馆业务自动化:SpringBoot框架的实现方法

3系统分析 3.1可行性分析 通过对本基于Spring Boot的宠物咖啡馆平台的设计与实现实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于Spring Boot的宠物咖啡馆…

(11)(2.1.4) DroneCAN ESCs

文章目录 前言 1 DroneCAN ESC列表 2 连接到飞行控制器 3 自动驾驶仪设置 4 记录和报告 5 附加资料 前言 Copter、Plane 和 Rover 支持 DroneCAN 电子速度控制器&#xff08;ESC&#xff09;&#xff0c;该控制器允许与自动驾驶仪进行双向通信&#xff0c;从而可能更容易…

数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎(一)(20241009)

数据库管理250期 2024-10-09 数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎&#xff08;一&#xff09;&#xff08;20241009&#xff09;1 简介2 引擎构成3 引擎架构4 文件分布5 分布式MVCC6 限制/要求总结 数据库管理-第250期 深入浅出多主多活数据库技术…

EtherCAT学习笔记

文章目录 前言一、EtherCAT介绍二、EtherCA系统组成2.1 ESC(EtherCAT从站控制器)2.2 从站控制微处理器2.3 物理层器件2.4 其它应用层器件 三、EtherCAT数据帧结构3.1 寻址方式3.2 时钟3.3 通信模式 四、状态机和通信初始化五、应用层协议六、ESC概述6.1 EtherCAT从站控制芯片6.…

02_InFluxDb

InFluxDb 初始化初始化流程 交互InFluxDbWebUI交互 数据模型行协议添加标签数据格式 数据类型空格索引 初始化 初始化流程 用户 密码 组织名称 Bucket—mysql里面的数据库概念 交互InFluxDb 暂用了8086端口.提供了 http api WebUI交互 略... 数据模型 这是mysql里面的表…

基于SSM的电脑硬件库存管理系统【附源码】

基于SSM的脑硬件库存管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 设计原则 4.2 功能结构设计 4.3 数据库设计 4.3.1 数据库概念设计 4.3.2 数据库物理设计 第5章 系统实现 5.1 管理员功能实现 5.1.1 硬件管理 5.1…

Java开发者测试:Junit5

Java开发者测试 实际代码编写中所用到的单元测试框架基本是Junit结合Mockito使用 Junit spring自带的单元测试框架,涵盖了大部分功能 通过Test注解即可直接生成测试用例 Test public void calTest(){Assert.assertEquals(junit.cal(1,2),3); }BeforeAll 表明在所有测试方法…

learn C++ NO.21——AVL树

简单介绍一下AVL树 AVL树是一种自平衡的二叉搜索树&#xff08;Balanced Binary Search Tree, BBST&#xff09;&#xff0c;由俄罗斯数学家G. M. Adelson-Velsky和E. M. Landis在1962年发明&#xff0c;因此以其名字首字母命名。AVL树通过保持任何节点的两个子树的高度最大差…

笔记 | ASPICE 简介

什么是 ASPICE&#xff08;Automotive SPICE&#xff09; Automotive SPICE&#xff08;简称 A-SPICE 或 ASPICE&#xff09;是欧洲 20 多家主要汽车制造商以ISO/IEC 15504&#xff08;SPICE&#xff0c;Software Process Improvement and Capability dEtermination&#xff0…

Java反射专题

目录 一.反射机制 1.Java Reflection 2.反射相关的主要类 3.反射的优缺点 4.反射调用优化—关闭访问检查 二.Class类 1.基本介绍 2.常用方法 3.获取Class对象的方式 4.那些类型有Class对象 三.类加载 1.介绍 2.类加载时机 3.类加载各阶段 四.获取类结构的信息 1…

基于微信小程序的网上商城+ssm论文源码调试讲解

2 系统开发环境 2.1微信开发者工具 微信开发者工具现在已经被小程序开发团队开发运行&#xff0c;目前微信开发者工具任然在不断的完善中&#xff0c;在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具&#xff0c;开发者工具将使用这个微信帐号的信息进行小程…

教育领域中聊天机器人和会话代理的使用分析和趋势:一项文献计量学回顾

英文标题: Analysis and Trends in the Use of Chatbots and Conversational Agents in Education: a Bibliometric Review 作者信息: Dennis Arias-Chvez, Universidad Continental, Arequipa, Per; dariascontinental.edu.pe; ORCID: ORCIDTeresa Ramos-Quispe, Universida…

网络连接失败的解决方案

文章目录 问题描述解决方案 问题描述 在公司连不上网&#xff0c;域名解析没问题&#xff0c;经检测是IP地址有问题 解决方案

.NET 一款提权工具:Sharp4PetitPotato

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…