当前位置: 首页 > news >正文

【C语言标准库函数】双曲函数:sinh(), cosh(), tanh()

目录

一、头文件

二、函数简介

2.1. 双曲正弦函数 sinh(double x)

2.2. 双曲余弦函数 cosh(double x)

2.3. 双曲正切函数 tanh(double x)

三、函数实现(概念性)

四、注意事项

4.1. 参数类型

4.2. 计算精度

4.3. 函数返回值

4.4. 环境差异

4.5. 物理与几何应用

4.6. 编程实践

五、示例代码


在 C 语言标准库中,<math.h> 头文件提供了用于计算双曲函数的相关函数,常见的有 sinh()cosh() 和 tanh(),本文将详细介绍这几个函数。

一、头文件

这些双曲函数都定义在<math.h>头文件中。要使用它们,需要在C程序中包含这个头文件。

二、函数简介

2.1. 双曲正弦函数 sinh(double x)

双曲正弦函数是数学中的一种重要函数,通常记作 sinh(x),其定义式为:

其中,e 是自然对数的底数,约等于 2.71828。该函数属于双曲函数的一种,与三角函数相似,但具有不同的性质和用途。双曲正弦函数在数学、物理和工程计算中都有广泛的应用。

主要特点:

  • 定义域:双曲正弦函数的定义域为全体实数集,即 x∈R。
  • 值域:其值域也为全体实数集,即 sinh(x)∈R。
  • 奇偶性:双曲正弦函数是奇函数,即满足 sinh(−x)=−sinh(x)。
  • 单调性:在区间 (−∞,+∞) 上,双曲正弦函数是单调增加的。
  • 凹凸性:双曲正弦函数在 x>0 时是凸函数,在 x<0 时是凹函数。
  • 导数:双曲正弦函数的导数是双曲余弦函数,即 dxd​sinh(x)=cosh(x)。

2.2. 双曲余弦函数 cosh(double x)

双曲余弦函数是另一种重要的双曲函数,记作 cosh(x),其定义式为:

主要特点:

  • 定义域:与双曲正弦函数相同,双曲余弦函数的定义域也是全体实数集。
  • 值域:其值域为 [1,+∞),因为对于任何实数 x,ex 和 e−x 都是正的,所以它们的和除以 2 总是大于或等于 1。
  • 奇偶性:双曲余弦函数是偶函数,即满足 cosh(−x)=cosh(x)。
  • 单调性:在区间 [0,+∞) 上,双曲余弦函数是单调增加的(尽管在 (−∞,0) 上也是单调的,但由于偶函数性质,其增减性与 [0,+∞) 上相同)。
  • 凹凸性:双曲余弦函数在其整个定义域上都是凸函数。
  • 导数:双曲余弦函数的导数是双曲正弦函数,即 dxd​cosh(x)=sinh(x)。

2.3. 双曲正切函数 tanh(double x)

双曲正切函数是双曲正弦函数和双曲余弦函数的商,记作 tanh(x),其定义式为:

主要特点:

  • 定义域:与双曲正弦和余弦函数相同,双曲正切函数的定义域也是全体实数集。
  • 值域:其值域为 (−1,1),因为分子是两个指数函数的差,分母是两个指数函数的和,且分母总是大于分子(绝对值上),所以比值永远在 -1 和 1 之间。
  • 奇偶性:双曲正切函数是奇函数,即满足 tanh(−x)=−tanh(x)。
  • 单调性:在区间 (−∞,+∞) 上,双曲正切函数是单调增加的。
  • 凹凸性:双曲正切函数在其整个定义域上都是凹函数。
  • 导数:双曲正切函数的导数是 1−tanh2(x),这可以通过求导法则和链式法则得出。

三、函数实现(概念性)

在C语言中,虽然我们不能直接访问sinh()cosh(), 和 tanh()这些函数的源代码(因为它们是标准库的一部分,且实现依赖于具体的编译器和库),但我们可以基于它们的数学定义来实现概念性的、简单的近似版本。这里,我们将使用exp()函数来计算e的指数,然后根据双曲函数的定义来实现它们。

注意:这里的实现主要是为了教学目的,并不是最优或最精确的。在实际应用中,应该直接使用标准库中的函数,因为它们经过了优化以提供高精度和好的性能。

#include <stdio.h>  
#include <math.h>  // 概念性的sinh实现  
double my_sinh(double x) {  return (exp(x) - exp(-x)) / 2.0;  
}  // 概念性的cosh实现  
double my_cosh(double x) {  return (exp(x) + exp(-x)) / 2.0;  
}  // 概念性的tanh实现,依赖于sinh和cosh  
double my_tanh(double x) {  return my_sinh(x) / my_cosh(x);  
}  int main() {  double x = 1.0;  printf("sinh(%f) = %f\n", x, my_sinh(x));  printf("cosh(%f) = %f\n", x, my_cosh(x));  printf("tanh(%f) = %f\n", x, my_tanh(x));  return 0;  
}

展示了如何基于exp()函数(在<math.h>中定义)来实现sinh()cosh(), 和 tanh()函数的概念性版本。在实际中,由于exp()函数已经足够精确,这种实现方式对于大多数应用场景来说已经足够好了。

然而,值得注意的是,当x的值非常大时,exp(x)exp(-x)的计算可能会导致数值溢出或下溢。为了避免这种问题,库的实现可能会采用更复杂的算法,如泰勒级数、范围约简(range reduction)等技术。

此外,由于浮点数计算的固有性质,即使是使用最精确的方法,对于某些极端值或特殊情况,计算结果也可能会有微小的误差。因此,在实际应用中,应该始终考虑浮点数的精度和误差问题。

四、注意事项

4.1. 参数类型

  • 在大多数编程语言中,这些函数接受的参数应为数值类型(如整数、浮点数等)。如果传入非数值类型(如字符串、日期等),则可能会引发错误或返回异常值。
  • 在C标准库中,所有的三角函数(如sin()cos()tan())和反三角函数(如asin()acos()atan())都期望其参数是以弧度为单位的,而不是度数。如果有一个以度数为单位的角,需要先将其转换为弧度,然后再传递给这些函数。弧度和度数之间的转换关系很简单:
    • 弧度=度数×180π​
    • 度数=弧度×π180​

4.2. 计算精度

  • 由于浮点数计算的固有性质,对于非常大的x值,sinh和cosh函数可能会导致数值溢出。因此,在使用时需要注意x的取值范围,以避免不必要的精度损失或错误。
  • tanh函数由于其值域限制在(-1, 1)之间,因此在处理大数时相对更稳定,但仍然需要注意数值精度的问题。

4.3. 函数返回值

  • sinh和cosh函数的返回值可以是任意实数,因此需要考虑返回值的大小和精度。
  • tanh函数的返回值在(-1, 1)之间,这有助于在某些应用中避免数值的极端波动。

4.4. 环境差异

  • 在不同的编程语言或数学库中,这些函数的实现可能略有差异。因此,在使用时需要参考具体环境或库的文档说明。
  • 特别是在使用Oracle等数据库系统时,需要注意函数的具体语法和使用方式可能与标准数学库有所不同。

4.5. 物理与几何应用

  • 双曲函数在双曲几何、物理学(如高速运动或强引力场问题)等领域有重要应用。在使用时,需要根据具体的应用场景选择合适的函数和参数。

4.6. 编程实践

  • 在编程时,应确保正确引用和调用这些函数。例如,在Excel中使用SINH函数时,需要先输入等号“=”,然后输入函数名和参数;在Oracle数据库中,则需要注意COSH等函数的语法差异。

在C语言中,可以使用M_PI(定义在<math.h>中,但可能需要包含<math_definitions.h>或定义_USE_MATH_DEFINES宏来确保它可用)来表示π的值。

五、示例代码

#include <stdio.h>  
#include <math.h>  int main() {  double x = 1.0; // 示例输入值  // 计算并打印双曲正弦值  double sinh_x = sinh(x);  printf("sinh(%.2f) = %.2f\n", x, sinh_x);  // 计算并打印双曲余弦值  double cosh_x = cosh(x);  printf("cosh(%.2f) = %.2f\n", x, cosh_x);  // 计算并打印双曲正切值  double tanh_x = tanh(x);  printf("tanh(%.2f) = %.2f\n", x, tanh_x);  // 尝试一个较大的值,观察tanh的行为  x = 10.0;  tanh_x = tanh(x);  printf("tanh(%.2f) = %.2f (approaching 1 as x increases)\n", x, tanh_x);  // 尝试一个较大的负值,观察tanh的行为  x = -10.0;  tanh_x = tanh(x);  printf("tanh(%.2f) = %.2f (approaching -1 as x decreases)\n", x, tanh_x);  // 尝试0值,观察结果  x = 0.0;  sinh_x = sinh(x);  cosh_x = cosh(x);  tanh_x = tanh(x);  printf("sinh(%.2f) = %.2f\n", x, sinh_x);  printf("cosh(%.2f) = %.2f\n", x, cosh_x);  printf("tanh(%.2f) = %.2f\n", x, tanh_x);  return 0;  
}

 

运行这段代码,可以看到每个函数调用的结果,以及tanh()函数随着x值变化而趋近于其极限值的行为。

相关文章:

【C语言标准库函数】双曲函数:sinh(), cosh(), tanh()

目录 一、头文件 二、函数简介 2.1. 双曲正弦函数 sinh(double x) 2.2. 双曲余弦函数 cosh(double x) 2.3. 双曲正切函数 tanh(double x) 三、函数实现&#xff08;概念性&#xff09; 四、注意事项 4.1. 参数类型 4.2. 计算精度 4.3. 函数返回值 4.4. 环境差异 4.…...

Visual Studio(VS)初始配置环境(scanf异常)

发现问题 当我们第一次安装Visual Studio&#xff08;VS&#xff09;且没有初次环境配置时&#xff0c;用某些函数时会发现报错异常。&#xff08;如下scanf函数为例&#xff09; #include<stdio.h>int main() {int a 0;scanf("%d", &a);printf("%…...

【JVM详解一】类加载过程与内存区域划分

一、简介 1.1 概述 JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相关…...

《图解设计模式》笔记(五)一致性

十一、Composite模式&#xff1a;容器与内容的一致性 像文件夹与文件一样&#xff0c;文件夹中可以放子文件夹与文件&#xff0c;再比如容器中可以放更小的容器和具体内容。 Composite模式&#xff1a;使容器与内容具有一致性&#xff0c;创造出递归结构。 Composite&#x…...

burpsuite抓取html登陆和上传数据包

一、burpsuite抓取html登陆数据包 1、先写一个html格式的登陆页面 <!doctype html> <html lang="en"> <head><meta charset="UTF-8"><title>这是标签</title></head> <body> <hr><!-- 登陆表单…...

前端导出pdf,所见即所得

一、推荐方案&#xff1a;html2canvas jsPDF&#xff08;图片式PDF&#xff09; javascript import html2canvas from html2canvas; import jsPDF from jspdf;const exportPDF async (elementId, fileName) > {const element document.getElementById(elementId);// 1.…...

使用orjson库提升Python JSON处理性能

使用orjson库提升Python JSON处理性能 引言 在现代软件开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;作为一种轻量级的数据交换格式&#xff0c;广泛应用于Web服务、配置文件、数据存储等场景。Python作为一门流行的编程语言&#xff0c;提供了…...

TcpClientTest

ClientTest&#xff1a; using System; using System.Net.Sockets; using System.Text;class TcpClientTest {static void Main(string[] args){try{// 创建一个TcpClient实例并连接到服务器 TcpClient client new TcpClient("1vg5062570.51mypc.cn", 43319);//1v…...

【系统架构设计师】操作系统 ② ( 存储管理 | 页式存储 | 逻辑地址 与 物理地址 | 页表结构 | 物理内存淘汰机制 )

文章目录 一、页式存储1、CPU 调用数据2、内存存储数据弊端3、分页存储4、逻辑地址 和 物理地址 的结构5、逻辑地址 和 物理地址 的结构 示例6、页式存储 优缺点 二、逻辑地址 与 物理地址1、逻辑地址2、物理地址3、逻辑地址 与 物理地址 区别4、逻辑地址 与 物理地址 的转换 三…...

STM32自学记录(八)

STM32自学记录 文章目录 STM32自学记录前言一、ADC杂记二、实验1.学习视频2.复现代码 总结 前言 ADC 一、ADC杂记 ADC其实就是一个电压表&#xff0c;把引脚的电压值测出来&#xff0c;放在一个变量里。 ADC&#xff1a;模拟——数字转换器。 ADC可以将引脚上连续变化的模拟电…...

Vim 多窗口编辑及文件对比

水平分割 :split 默认使用水平分割的方式。 :split :sp 垂直分割 :vsplit :vs 带文件的分割 :split 文件名 :sp 文件名 在光标所在的窗口&#xff0c;输入分割窗口命令就会对那个窗口进行分割。 切换窗口 Ctrlw 切换正在编辑的窗口 快速分割窗口 Ctrlwn 快速分割当前…...

基于深度学习的人工智能量化衰老模型构建与全流程应用研究

一、引言 1.1 研究背景与意义 1.1.1 人口老龄化现状与挑战 人口老龄化是当今全球面临的重要社会趋势之一,其发展态势迅猛且影响深远。根据联合国的相关数据,1980 年,全球 65 岁及以上人口数量仅为 2.6 亿,到 2021 年,这一数字已翻番,达到 7.61 亿,而预计到 2050 年,…...

第八届大数据与应用统计国际学术研讨会(ISBDAS 2025)

重要信息 官网&#xff1a;www.is-bdas.org 时间&#xff1a;2025年2月28-3月2日 地点&#xff1a;中国 广州 主办单位&#xff1a;广东省高等教育学会人工智能与高等教育研究分会 协办单位&#xff1a;北京师范大学人工智能与未来网络研究院、人工智能与大数据科研基地 …...

链表专题-03

链表专题(三) 两数相加 问题 [力扣2] 2. 两数相加 - 力扣&#xff08;LeetCode&#xff09; 问题描述 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。请你将两个数相加&#xff…...

Ollama下载安装教程

一、去官网下载Ollama 点击前往Ollama官网 进去后点击下载 根据不同的系统去选择 由于服务器在国外可能下载界面进不去或者下载非常慢&#xff0c;可以去网盘获取 点击下方蓝色字体直达 点击前往夸克网盘下载 点击前往百度网盘下载 下载好后双击应用程序安装即可 点击ins…...

SQL Server查询计划操作符(7.3)——查询计划相关操作符(6)

7.3. 查询计划相关操作符 48)Key Lookup:该操作符对一个有簇索引的表进行书签查找。参数列包含簇索引的名字和用于查找簇索引中数据行的簇键。该操作符总是伴随一个Nested Loops操作符。如果其参数列中出现WITH PREFETCH子句,则查询处理器已决定使用异步预取(预读,read-ah…...

IDEA查看项目依赖包及其版本

一.IDEA将现有项目转换为Maven项目 在IntelliJ IDEA中,将现有项目转换为Maven项目是一个常见的需求,可以通过几种不同的方法来实现。Maven是一个强大的构建工具,它可以帮助自动化项目的构建过程,管理依赖关系,以及其他许多方面。 添加Maven支持 如果你的项目还没有pom.xm…...

网络分析工具—WireShark的安装及使用

Wireshark 是一个广泛使用的网络协议分析工具&#xff0c;常被网络管理员、开发人员和安全专家用来捕获和分析网络数据包。它支持多种网络协议&#xff0c;能够帮助用户深入理解网络流量、诊断网络问题以及进行安全分析。 Wireshark 的主要功能 数据包捕获与分析&#xff1a; …...

【LeetCode 刷题】贪心算法(2)-进阶

此博客为《代码随想录》贪心算法章节的学习笔记&#xff0c;主要内容为贪心算法进阶的相关题目解析。 文章目录 135. 分发糖果406. 根据身高重建队列134. 加油站968. 监控二叉树 135. 分发糖果 题目链接 class Solution:def candy(self, ratings: List[int]) -> int:n l…...

网络工程师 (25)OSI模型—服务访问点

前言 OSI模型&#xff0c;即开放式通信系统互联参考模型&#xff08;Open System Interconnection Reference Model&#xff09;&#xff0c;是国际标准化组织&#xff08;ISO&#xff09;提出的一个旨在使各种计算机在世界范围内互连为网络的标准框架。 一、定义 服务访问点&a…...

如何在RTACAR中配置IP多播(IP Multicast)

一、什么是IP多播 IP多播&#xff08;IP Multicast&#xff09;是一种允许数据包从单一源地址发送到多个目标地址的技术&#xff0c;是一种高效的数据传输方式。 多播地址是专门用于多播通信的IP地址&#xff0c;范围从 224.0.0.0到239.255.255.255 与单播IP地址不同&#x…...

使用docker搭建FastDFS文件服务

1.拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/fastdfs:latest2.使用docker镜像构建tracker容器&#xff08;跟踪服务器&#xff0c;起到调度的作用&#xff09; docker run -dti --networkhost --name tracker -v /data/fdfs/tracker:/var/fdfs -…...

VC播放mp3的方法

1、使用msi库 #include <mmsystem.h> #pragma comment(lib,"winmm.lib") .......//打开文件MCI_OPEN_PARMS mciOpen; mciOpen.lpstrDeviceType _T("mpegvideo"); mciOpen.lpstrElementName _T("c://1.mp3"); MCIERROR mciError mci…...

【读书笔记·VLSI电路设计方法解密】问题46:什么是bug覆盖率

在IC设计项目的验证过程中&#xff0c;功能测试&#xff08;通过使用测试平台&#xff09;有助于定位设计错误或漏洞。这个验证过程有三个阶段&#xff1a;构建和启动测试平台、验证基本测试用例以及验证边界情况。 在前两个阶段&#xff0c;漏洞很容易被检测到&#xff0c;因…...

sqli-lab靶场学习(五)——Less15-17(post方法盲注、修改密码)

前言 第11-14关开始用post方法&#xff0c;15-17关会用到盲注&#xff0c;post方法盲注和get方法类似。 Less15 这关是单引号闭合&#xff0c;有报错但没有具体情况的回显&#xff0c;因此适合使用错误盲注。 在用户名密码框分别输入 账号&#xff1a;admin and 11 -- asd…...

1、http介绍

一、HTTP 和 HTTPS 简介 HTTP&#xff08;HyperText Transfer Protocol&#xff09; 用途&#xff1a;用于网页数据传输&#xff08;不加密&#xff09;。协议特性&#xff1a;以明文形式传输数据&#xff0c;默认端口 80&#xff0c;无身份验证和完整性保护。典型场景&#xf…...

Vim跳转文件及文件行结束符EOL

跳转文件 gf 从当前窗口打开那个文件的内容&#xff0c;操作方式&#xff1a;让光标停在文件名上&#xff0c;输入gf。 Ctrlo 从打开的文件返回之前的窗口 Ctrlwf 可以在分割的窗口打开跳转的文件&#xff0c;不过在我的实验不是次次都成功。 统一行尾格式 文本文件里存放的…...

LLM:DeepSeek 系列(二)

原文链接 3、DeepSeek-V2 DeepSeek-V2 发布于 2024 年 5 月&#xff0c;为多领域专家&#xff08;MoE&#xff09;语言模型&#xff0c;包含总共 2360 亿个参数&#xff0c;其中每个词元激活 210 亿个参数&#xff0c;并支持 12.8 万个词元的上下文长度。DeepSeek-V2 采用包括…...

订单超时设计(1)--- 如何使用redis实现订单超时实时关闭功能

如何使用redis实现订单超时实时关闭功能 准备工作实现步骤解释注意事项&#xff08;重点&#xff09; 使用Redis实现订单超时实时关闭功能&#xff0c;可以利用Redis的延时队列&#xff08;使用Sorted Set实现&#xff09;和过期键&#xff08;使用TTL和Keyspace Notifications…...

【0401】Postgres内核 CREATE DATABASE database-name 源码实现 ①

文章目录 1. CREATE DATABASE 语句1.1 CREATE DATABASE 语法1.2 CREATE DATABASE 调用栈2. CREATE DATABASE 内核实现2.1 从 CreatedbStmt 节点树 提取 options2.2 获取 datdba(proposed owner) OID2.3 当前用户具有 create DB 权限?2.4 获取 database template1. CREATE DA…...

Termux安装ssh实现电脑ssh

Termux下载 点击下载 在 Termux 中安装并使用 SSH&#xff0c;按照以下步骤操作&#xff1a; 1. 更新软件包列表 pkg update && pkg upgrade2. 安装 OpenSSH pkg install openssh3. 设置 SSH 密码&#xff08;必须&#xff0c;否则无法使用 SSH 服务器&#xff09…...

nexus部署及配置https访问

1. 使用docker-compose部署nexus docker-compose-nexus.yml version: "3" services:nexus:container_name: my-nexusimage: sonatype/nexus3:3.67.1hostname: my-nexusnetwork_mode: hostports:- 8081:8081deploy:resources:limits:cpus: 4memory: 8192Mreservations…...

【MySQL】表操作

表操作 一、创建表 1、语句2、语句介绍3、注意事项4、介绍5、示例 二、查看表结构 1、语句2、介绍3、返回的信息4、示例 三、添加字段 1、语句2、语句介绍3、示例 四、修改 1、语句2、语句介绍3、示例 五、删除 1、语句2、示例 六、修改表名 1、语句2、语句介绍3、示例 七、删…...

浅析Ruby类污染及其在Sinatra框架下的利用

和JavaScript中的原型链污染类似&#xff0c;Ruby中也存在类似的概念——类污染&#xff0c;两者都是对象进行不安全的递归合并导致的。 网上也没有相关的分析文章&#xff0c;只有下面这篇文章应该是第一次谈到这个问题 Class Pollution in Ruby: A Deep Dive into Exploiti…...

iPhone 在华销量大幅下挫

iPhone在乔布斯时代缔造的神话在中国正逐渐走向没落&#xff0c;挤牙膏式的升级方式类似于诺基亚的N70系列&#xff0c;毫无新意的创新能力&#xff0c;求稳着陆的经营理念&#xff0c;工艺和美学不再独领风骚&#xff0c;甚至拍照领域和AI增强计算&#xff0c;折叠屏等技术领域…...

Fedora 的 2025 年展望:AI 集成与 HDR 支持打造强大 Linux 桌面体验

Fedora 项目已经从节庆活动中恢复&#xff0c;准备在未来几个月推出一系列关键计划。Red Hat 软件工程总监 Christian Schaller 在他的博客文章中分享了 2025 年 Fedora 发行版的重点发展方向和优先事项&#xff0c;涵盖了人工智能集成、Wayland、HDR 协议、PipeWire 等多个领域…...

mysql 学习11 事务,事务简介,事务操作,事务四大特性,并发事务问题,事务隔离级别

一 事务简介&#xff0c; 数据库准备&#xff1a; create table account(id int auto_increment primary key comment 主键ID,name varchar(128) not null comment 姓名,backaccountnumber char(18) unique comment 银行账号,money float comment 余额 )comment 银行账号表;…...

C# Winform怎么设计串口,客户端和相机控件界面显示

首先我们必须把这个类创建好 INIAPI using System; using System.Text; using System.Runtime.InteropServices;namespace Ini {public class IniAPI{#region INI文件操作/** 针对INI文件的API操作方法&#xff0c;其中的节点&#xff08;Section)、键&#xff08;KEY&#x…...

【场景题】架构优化 - 解耦Redis缓存与业务逻辑

1. 需求分析 某公司需要将原有的Redis缓存抽离出来&#xff0c;并且还要要实现&#xff1a; 可配置热拔插高可用高通用 请问你会如何实现&#xff1f; 2. 思路 话不多说直接上思路&#xff1a; 自定义缓存注解&#xff0c;当容器扫描到该注解自动调用AOP想应的增强方法为…...

WGCLOUD监控系统部署教程

官网地址&#xff1a;下载WGCLOUD安装包 - WGCLOUD官网 第一步、环境配置 #安装jdk 1、安装 EPEL 仓库&#xff1a; sudo yum install -y epel-release 2、安装 OpenJDK 11&#xff1a; sudo yum install java-11-openjdk-devel 3、如果成功&#xff0c;你可以通过运行 java …...

linux——网络计算机{序列化及反序列化(JSON)(ifdef的用法)}

linux——网络&#xff08;服务器的永久不挂——守护进程&#xff09;-CSDN博客 目录 一、序列化与反序列化 1. 推荐 JSON 库 2. 使用 nlohmann/json 示例 安装方法 基础用法 输出结果 3. 常见操作 4. 其他库对比 5. 选择建议 二、ifdef宏的用法 基本语法 核心用途…...

Android 开发APP中参数配置与读取总结

以使用MQTT配置的参数 MQTT_BROKER_UR 、MQTT_USER_NAME、 MQTT_PASSWORD为例&#xff0c;说明配置设置和读取应用 项目中使用系统参数&#xff08;如环境变量和gradle.properties文件中的属性&#xff09;在Gradle构建脚本中&#xff0c;以下是一个详细的操作文档资料&…...

Web应用国际化(i18n)实现详解 python

Web应用国际化&#xff08;i18n&#xff09;实现详解 1. 设计理念 本项目的国际化&#xff08;Internationalization&#xff09;解决方案基于Python的gettext模块&#xff0c;提供了一个灵活、可扩展的多语言支持系统。 2. 语言支持 2.1 支持的语言列表 项目支持超过35种…...

mysql mvcc 锁 关系

多版本并发控制&#xff08;MVCC&#xff09;是一种用于数据库并发控制的机制&#xff0c;它可以在保证数据一致性的同时&#xff0c;提高数据库的并发性能。下面结合 MVCC 机制&#xff0c;详细阐述常见的四种事务隔离级别&#xff08;读未提交、读已提交、可重复读、串行化&a…...

【银河麒麟高级服务器操作系统】系统日志Call trace现象分析及处理全流程

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://document.kylinos.cn 服务器环境以及配置 系统环境 物理机/虚拟机/云…...

新能源产业的质量革命:六西格玛培训如何重塑制造竞争力

在新能源行业狂飙突进的今天&#xff0c;企业若想在全球供应链中占据高地&#xff0c;仅靠技术突破已远远不够。制造效率的毫厘之差&#xff0c;可能成为市场话语权的千里之距。某光伏巨头曾因电池片良率低于行业均值1.5%&#xff0c;导致年损失超2.3亿元——这恰恰印证了六西格…...

【ArcGIS】R语言空间分析、模拟预测与可视化技术

R语言在空间数据挖掘中具有广泛的应用&#xff0c;以下是一些关键内容和常用包的介绍&#xff1a; R语言空间数据挖掘的关键技术 空间数据类型 矢量数据&#xff1a;包括点&#xff08;Point&#xff09;、线&#xff08;Line&#xff09;、面&#xff08;Polygon&#xff09;等…...

单例模式几种实现

静态内部类holder实现&#xff08;推荐&#xff09; public class UniqueIdGenerator {public static final UniqueIdGenerator INSTANCE Holder.INSTANCE;// Private holder class for lazy initializationprivate static class Holder {static final UniqueIdGenerator INS…...

什么是Prompt工程?

什么是提示工程&#xff1f; Prompt一词&#xff0c;在英语中主要用作动词、形容词、名词和副词&#xff0c;主要意思包括“促使&#xff0c;导致&#xff1b;鼓励&#xff0c;提示&#xff1b;迅速的&#xff0c;立刻的&#xff1b;准时地”等。 在人工智能的语境下&#xf…...

C++,设计模式,【单例模式】

文章目录 一、模式定义与核心价值二、模式结构解析三、关键实现技术演进1. 基础版(非线程安全)2. 线程安全版(双重检查锁)3. 现代C++实现(C++11起)四、实战案例:全局日志管理器五、模式优缺点深度分析✅ 核心优势⚠️ 潜在缺陷六、典型应用场景七、高级实现技巧1. 模板化…...