C++标准模板(STL)- 类型支持 (数值极限,min_exponent10,max_exponent,max_exponent10)
数值极限
std::numeric_limits
定义于头文件 <limits>
定义于头文件 | ||
template< class T > class numeric_limits; |
numeric_limits 类模板提供查询各种算术类型属性的标准化方式(例如 int 类型的最大可能值是 std::numeric_limits<int>::max() )。
10 的该数次幂是合法正规浮点值的最小负数
std::numeric_limits<T>::min_exponent10
static const int min_exponent10; | (C++11 前) | |
static constexpr int min_exponent10; | (C++11 起) |
std::numeric_limits<T>::min_exponent10 的值是满足 10n是浮点类型 T
的合法正规值的最低负数 n
。
标准特化
T | std::numeric_limits<T>::min_exponent10 的值 |
/* non-specialized */ | 0 |
bool | 0 |
char | 0 |
signed char | 0 |
unsigned char | 0 |
wchar_t | 0 |
char8_t | 0 |
char16_t | 0 |
char32_t | 0 |
short | 0 |
unsigned short | 0 |
int | 0 |
unsigned int | 0 |
long | 0 |
unsigned long | 0 |
long long | 0 |
unsigned long long | 0 |
float | FLT_MIN_10_EXP |
double | DBL_MIN_10_EXP |
long double | LDBL_MIN_10_EXP |
调用示例
#include <iostream>
#include <string>
#include <limits>
#include <cstdint>
#include <cfloat>struct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template<>
struct numeric_limits<SPartSpec>
{static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;static _GLIBCXX_USE_CONSTEXPR bool is_signed = true;static _GLIBCXX_USE_CONSTEXPR bool is_integer = true;static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;static _GLIBCXX_USE_CONSTEXPR bool has_infinity = true;static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = true;static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = true;static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm = denorm_present;static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = true;static _GLIBCXX_USE_CONSTEXPR float_round_style round_style = round_toward_neg_infinity;static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = true;static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;static _GLIBCXX_USE_CONSTEXPR int digits = CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int digits10 = CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int max_digits10 = DECIMAL_DIG;static _GLIBCXX_USE_CONSTEXPR int radix = FLT_RADIX;static _GLIBCXX_USE_CONSTEXPR int min_exponent = FLT_MIN_EXP;static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = FLT_MIN_10_EXP;
};
}int main()
{std::cout << std::boolalpha;std::cout << "std::numeric_limits<bool>::min_exponent10: "<< std::numeric_limits<bool>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<char>::min_exponent10: "<< std::numeric_limits<char>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<signed char>::min_exponent10: "<< std::numeric_limits<signed char>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned char>::min_exponent10: "<< std::numeric_limits<unsigned char>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<wchar_t>::min_exponent10: "<< std::numeric_limits<wchar_t>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<char16_t>::min_exponent10: "<< std::numeric_limits<char16_t>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<char32_t>::min_exponent10: "<< std::numeric_limits<char32_t>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<short>::min_exponent10: "<< std::numeric_limits<short>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned short>::min_exponent10: "<< std::numeric_limits<unsigned short>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<int>::min_exponent10: "<< std::numeric_limits<int>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned int>::min_exponent10: "<< std::numeric_limits<unsigned int>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<long>::min_exponent10: "<< std::numeric_limits<long>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned long>::min_exponent10: "<< std::numeric_limits<unsigned long>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<long long>::min_exponent10: "<< std::numeric_limits<long long>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned long long>::min_exponent10: "<< std::numeric_limits<unsigned long long>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<float>::min_exponent10: "<< std::numeric_limits<float>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<double>::min_exponent10: "<< std::numeric_limits<double>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<long double>::min_exponent10: "<< std::numeric_limits<long double>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<std::string>::min_exponent10: "<< std::numeric_limits<std::string>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<SName>::min_exponent10: "<< std::numeric_limits<SName>::min_exponent10 << std::endl;std::cout << "std::numeric_limits<SPartSpec>::min_exponent10: "<< std::numeric_limits<SPartSpec>::min_exponent10 << std::endl;return 0;
}
输出
底的该数次幂是合法有限浮点值的最大整数加一
std::numeric_limits<T>::max_exponent
static const int max_exponent; | (C++11 前) | |
static constexpr int max_exponent; | (C++11 起) |
std::numeric_limits<T>::max_exponent 的值是满足 rn-1是浮点类型 T
的可表示有限值最大正整数 n
,其中 r
是 std::numeric_limits<T>::radix 。
标准特化
T | std::numeric_limits<T>::max_exponent 的值 |
/* non-specialized */ | 0 |
bool | 0 |
char | 0 |
signed char | 0 |
unsigned char | 0 |
wchar_t | 0 |
char8_t | 0 |
char16_t | 0 |
char32_t | 0 |
short | 0 |
unsigned short | 0 |
int | 0 |
unsigned int | 0 |
long | 0 |
unsigned long | 0 |
long long | 0 |
unsigned long long | 0 |
float | FLT_MAX_EXP |
double | DBL_MAX_EXP |
long double | LDBL_MAX_EXP |
调用示例
#include <iostream>
#include <string>
#include <limits>
#include <cstdint>
#include <cfloat>struct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template<>
struct numeric_limits<SPartSpec>
{static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;static _GLIBCXX_USE_CONSTEXPR bool is_signed = true;static _GLIBCXX_USE_CONSTEXPR bool is_integer = true;static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;static _GLIBCXX_USE_CONSTEXPR bool has_infinity = true;static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = true;static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = true;static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm = denorm_present;static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = true;static _GLIBCXX_USE_CONSTEXPR float_round_style round_style = round_toward_neg_infinity;static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = true;static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;static _GLIBCXX_USE_CONSTEXPR int digits = CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int digits10 = CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int max_digits10 = DECIMAL_DIG;static _GLIBCXX_USE_CONSTEXPR int radix = FLT_RADIX;static _GLIBCXX_USE_CONSTEXPR int min_exponent = FLT_MIN_EXP;static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = FLT_MIN_10_EXP;static _GLIBCXX_USE_CONSTEXPR int max_exponent = FLT_MAX_EXP;
};
}int main()
{std::cout << std::boolalpha;std::cout << "std::numeric_limits<bool>::max_exponent: "<< std::numeric_limits<bool>::max_exponent << std::endl;std::cout << "std::numeric_limits<char>::max_exponent: "<< std::numeric_limits<char>::max_exponent << std::endl;std::cout << "std::numeric_limits<signed char>::max_exponent: "<< std::numeric_limits<signed char>::max_exponent << std::endl;std::cout << "std::numeric_limits<unsigned char>::max_exponent: "<< std::numeric_limits<unsigned char>::max_exponent << std::endl;std::cout << "std::numeric_limits<wchar_t>::max_exponent: "<< std::numeric_limits<wchar_t>::max_exponent << std::endl;std::cout << "std::numeric_limits<char16_t>::max_exponent: "<< std::numeric_limits<char16_t>::max_exponent << std::endl;std::cout << "std::numeric_limits<char32_t>::max_exponent: "<< std::numeric_limits<char32_t>::max_exponent << std::endl;std::cout << "std::numeric_limits<short>::max_exponent: "<< std::numeric_limits<short>::max_exponent << std::endl;std::cout << "std::numeric_limits<unsigned short>::max_exponent: "<< std::numeric_limits<unsigned short>::max_exponent << std::endl;std::cout << "std::numeric_limits<int>::max_exponent: "<< std::numeric_limits<int>::max_exponent << std::endl;std::cout << "std::numeric_limits<unsigned int>::max_exponent: "<< std::numeric_limits<unsigned int>::max_exponent << std::endl;std::cout << "std::numeric_limits<long>::max_exponent: "<< std::numeric_limits<long>::max_exponent << std::endl;std::cout << "std::numeric_limits<unsigned long>::max_exponent: "<< std::numeric_limits<unsigned long>::max_exponent << std::endl;std::cout << "std::numeric_limits<long long>::max_exponent: "<< std::numeric_limits<long long>::max_exponent << std::endl;std::cout << "std::numeric_limits<unsigned long long>::max_exponent: "<< std::numeric_limits<unsigned long long>::max_exponent << std::endl;std::cout << "std::numeric_limits<float>::max_exponent: "<< std::numeric_limits<float>::max_exponent << std::endl;std::cout << "std::numeric_limits<double>::max_exponent: "<< std::numeric_limits<double>::max_exponent << std::endl;std::cout << "std::numeric_limits<long double>::max_exponent: "<< std::numeric_limits<long double>::max_exponent << std::endl;std::cout << "std::numeric_limits<std::string>::max_exponent: "<< std::numeric_limits<std::string>::max_exponent << std::endl;std::cout << "std::numeric_limits<SName>::max_exponent: "<< std::numeric_limits<SName>::max_exponent << std::endl;std::cout << "std::numeric_limits<SPartSpec>::max_exponent: "<< std::numeric_limits<SPartSpec>::max_exponent << std::endl;return 0;
}
输出
10 的该数次幂是合法有限浮点值的最大整数
std::numeric_limits<T>::max_exponent10
std::numeric_limits<T>::max_exponent10 的值是满足 10n是浮点类型 T
的可表示有限值的最大正整数 n
。
标准特化
T | std::numeric_limits<T>::max_exponent10 的值 |
/* non-specialized */ | 0 |
bool | 0 |
char | 0 |
signed char | 0 |
unsigned char | 0 |
wchar_t | 0 |
char8_t | 0 |
char16_t | 0 |
char32_t | 0 |
short | 0 |
unsigned short | 0 |
int | 0 |
unsigned int | 0 |
long | 0 |
unsigned long | 0 |
long long | 0 |
unsigned long long | 0 |
float | FLT_MAX_10_EXP |
double | DBL_MAX_10_EXP |
long double | LDBL_MAX_10_EXP |
调用示例
#include <iostream>
#include <string>
#include <limits>
#include <cstdint>
#include <cfloat>struct SName
{
};//偏特化
struct SPartSpec
{
};namespace std
{
template<>
struct numeric_limits<SPartSpec>
{static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;static _GLIBCXX_USE_CONSTEXPR bool is_signed = true;static _GLIBCXX_USE_CONSTEXPR bool is_integer = true;static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;static _GLIBCXX_USE_CONSTEXPR bool has_infinity = true;static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = true;static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = true;static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm = denorm_present;static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = true;static _GLIBCXX_USE_CONSTEXPR float_round_style round_style = round_toward_neg_infinity;static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = true;static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;static _GLIBCXX_USE_CONSTEXPR bool is_modulo = true;static _GLIBCXX_USE_CONSTEXPR int digits = CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int digits10 = CHAR_BIT;static _GLIBCXX_USE_CONSTEXPR int max_digits10 = DECIMAL_DIG;static _GLIBCXX_USE_CONSTEXPR int radix = FLT_RADIX;static _GLIBCXX_USE_CONSTEXPR int min_exponent = FLT_MIN_EXP;static _GLIBCXX_USE_CONSTEXPR int min_exponent10 = FLT_MIN_10_EXP;static _GLIBCXX_USE_CONSTEXPR int max_exponent = FLT_MAX_EXP;static _GLIBCXX_USE_CONSTEXPR int max_exponent10 = FLT_MAX_EXP;
};
}int main()
{std::cout << std::boolalpha;std::cout << "std::numeric_limits<bool>::max_exponent10: "<< std::numeric_limits<bool>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<char>::max_exponent10: "<< std::numeric_limits<char>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<signed char>::max_exponent10: "<< std::numeric_limits<signed char>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned char>::max_exponent10: "<< std::numeric_limits<unsigned char>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<wchar_t>::max_exponent10: "<< std::numeric_limits<wchar_t>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<char16_t>::max_exponent10: "<< std::numeric_limits<char16_t>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<char32_t>::max_exponent10: "<< std::numeric_limits<char32_t>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<short>::max_exponent10: "<< std::numeric_limits<short>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned short>::max_exponent10: "<< std::numeric_limits<unsigned short>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<int>::max_exponent10: "<< std::numeric_limits<int>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned int>::max_exponent10: "<< std::numeric_limits<unsigned int>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<long>::max_exponent10: "<< std::numeric_limits<long>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned long>::max_exponent10: "<< std::numeric_limits<unsigned long>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<long long>::max_exponent10: "<< std::numeric_limits<long long>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<unsigned long long>::max_exponent10: "<< std::numeric_limits<unsigned long long>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<float>::max_exponent10: "<< std::numeric_limits<float>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<double>::max_exponent10: "<< std::numeric_limits<double>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<long double>::max_exponent10: "<< std::numeric_limits<long double>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<std::string>::max_exponent10: "<< std::numeric_limits<std::string>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<SName>::max_exponent10: "<< std::numeric_limits<SName>::max_exponent10 << std::endl;std::cout << "std::numeric_limits<SPartSpec>::max_exponent10: "<< std::numeric_limits<SPartSpec>::max_exponent10 << std::endl;return 0;
}
输出
相关文章:

C++标准模板(STL)- 类型支持 (数值极限,min_exponent10,max_exponent,max_exponent10)
数值极限 std::numeric_limits 定义于头文件 <limits> 定义于头文件 <limits> template< class T > class numeric_limits; numeric_limits 类模板提供查询各种算术类型属性的标准化方式(例如 int 类型的最大可能值是 std::numeric_limits&l…...

linux 服务器类型Apache配置https访问
一:查看服务器类型,下载相应的SSL证书 命令:netstat -anp | grep :80 httpd是Apache超文本传输协议(HTTP)服务器的主程序,所以下载Apache证书 二:将证书解压后复制到服务器上 三个文件:xxx.key xxx_publ…...

langchain 加载各种格式文件读取方法
参考:https://python.langchain.com/docs/modules/data_connection/document_loaders/ https://github.com/thomas-yanxin/LangChain-ChatGLM-Webui/blob/master/app.py 代码 可以支持pdf、md、doc、txt等格式 from langchain.document_loaders import Unstruct…...

飞花令游戏(Python)
飞花令是古时候人们经常玩一种“行酒令”的游戏,是中国古代酒令之一,属雅令。“飞花”一词则出自唐代诗人韩翃《寒食》中 春城无处不飞花 一句。行飞花令时选用诗和词,也可用曲,但选择的句子一般不超过7个字。 在《中国诗词大会》…...

解决“413 Request Entity Too Large”错误 代表请求包太大,服务器拒绝响应
解决办法: 在nginx的配置文件nginx.conf中,添加这么一句client_max_body_size 1024m; 意思是最大请求是1024m。这个配置可以放到 http段 或者 server段 或者 location段。...

MoeCTF2023web
01http 打开题目环境 可以看到要求完成所有任务,这里用burp抓个包 按照要求修改可以得到flag moectf{basic_http_knowledge_HJbg427uFuznTqiJdtS1xhZNwpdsOnKU} 02 Web入门指北 直接找到结尾发现乱码,去解码 编码可以试试url编码和base64到16 这里用…...

C语言编写简易图书管理系统
这篇文章介绍了一个基本的图书管理系统的实现,它允许用户添加、插入、删除、修改、显示和查询图书的功能。该系统通过使用二进制文件将图书信息保存到磁盘,并且在程序启动时能够加载已保存的图书信息。 介绍 在计算机科学中,图书管理系统是…...

C++入门 第一篇(C++关键字, 命名空间,C++输入输出)
目录 1. C关键字 2. 命名空间 2.1 命名空间定义 2.2命名空间的使用 命名空间的使用有三种方式: 1.加命名空间名称及作用域限定符 2.使用using将命名空间中某个成员引入 3.使用using namespace 命名空间名称 引入 3. C输入&输出 4.缺省函数 4.1 缺省参…...
python股票波动性分析
一、简介 我们都经历过这样的情况——盯着股票图表,试图理解那些疯狂的价格上涨,或者只是想知道为什么突然平静。在这些波动中,有一个一致的因素常常脱颖而出:波动性。了解波动性为衡量任何特定点的市场情绪和情绪提供了一个视角。通过剖析波动性的细微差别,我们不仅可以更…...

53 打家劫舍
打家劫舍 题解1 DP1题解2 DP2 !经典DP! 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果 两间相邻的房屋在同一晚上被小偷闯入…...

CentOS 7 基于C 连接ZooKeeper 客户端
前提条件:CentOS 7 编译ZooKeeper 客户端,请参考:CentOS 7 编译ZooKeeper 客户端 1、Docker 安装ZooKeeper # docker 获取zookeeper 最新版本 docker pull zookeeper# docker 容器包含镜像查看 docker iamges# 准备zookeeper 镜像文件挂载对…...

2023-2024-1 for循环-1(15-38)
7-15 输出闰年 输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。 输入格式: 输入在一行中给出21世纪的某个截止年份。 输出格式: 逐行输出满足条件的所有闰年年份,即每个年…...

初级问题 程序中的变量是指什么?中级问题 把若干个数据沿直线排列起来的数据结构叫作什么?高级问题 栈和队列的区别是什么?
目录 1.深刻主题 2.描写复杂人物 初级问题 程序中的变量是指什么? 中级问题 把若干个数据沿直线排列起来的数据结构叫作什么? 高级问题 栈和队列的区别是什么? 计算机图形学(有效边表算法) 介绍一下计算机图形学…...

clickhouse数据库简介,列式存储
clickhouse数据库简介 1、关于列存储 所说的行式存储和列式存储,指的是底层的存储形式,数据在磁盘上的真实存储,至于暴漏在上层的用户的使用是没有区别的,看到的都是一行一行的表格。 idnameuser_id1闪光10266032轨道物流10265…...
flask 发送ajax
前端 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <script src"https://cdn.lyshark.com/javascript/jquery/3.5.1/jquery.min.js"…...
Android Gradle 命令打包AAR
平台 Android Archive (AAR) 文件是一种特定于Android的存档文件格式,用于将Android库和资源打包成单个可重用的单元。AAR文件通常用于共享和分发Android库,以便其他Android应用项目可以轻松引用和使用这些库。 AAR文件是一种便捷的方式,用于…...

如何导出带有材质的GLB模型?
1、为什么要使用 GLB 模型? GLB格式(GLTF Binary)是一种用于存储和传输3D模型及相关数据的文件格式,具有以下优点和作用: 统一性:GLB是一种开放标准的3D文件格式,由Khronos Group制定和维护。它融合了GL…...
C/C++面试常见知识点
目录 C/C语言C内存分区malloc/free与new/delete的区别联合体联合体大小的计算 结构体对齐为什么需要结构体内存对齐 结构体与联合体的区别左值引用与右值引用指针和引用的区别迭代器失效static关键字在C语言的作用进程地址空间的分布内联函数 三大特性构造函数不能是虚函数析构…...
详细介绍数据结构-堆
计算机中的堆数据结构 什么是堆 在计算机科学中,堆(Heap)是一种重要的数据结构,它用于在动态分配时存储和组织数据。堆是一块连续的内存区域,其中每个存储单元(通常是字节)都与另一个存储单元…...

001flutter基础学习
flutter基础学习 参考:https://book.flutterchina.club/chapter1/flutter_intro.html Flutter是谷歌的移动UI框架跨平台: Linux,Android, IOS,Fuchsia原生用户界面:它是原生的,让我们体验更好,性能更好开源免费:完全开源,可以进行商用Flutter与主流框架的对比 Cor…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...