草庐IT

Precision

全部标签

c++ - 在 C++ 中设置默认浮点打印精度

我想在比较期间控制double,然后用C++恢复到默认精度。我打算使用setPrecision()来设置精度。那么将精度设置回默认值的语法(如果有)是什么?我正在做这样的事情std::setPrecision(math.log10(m_FTOL));我做了一些事情,之后我想回到默认的双重比较。我是这样修改的,还是有一些错误std::streamsizeprec=std::ios_base::precision();std::setprecision(cmath::log10(m_FTOL));withcmath在编译时为false,而std::ios_base在编译时也为false。你

c++ - 确保 C++ double 为 64 位

在我的C++程序中,我需要从外部字节序列中提取一个64位float。有什么方法可以确保在编译时double为64位?我应该使用其他类型来存储数据吗?编辑:如果您正在阅读本文并且实际上正在寻找一种方法来确保以IEEE754格式存储,请查看以下AdamRosenfield的答案。 最佳答案 在C99中,您只需检查预处理器符号__STDC_IEC_559__是否已定义。如果是,那么您可以保证double将是一个用IEEE754(也称为IEC60559)格式表示的8字节值。请参阅C99标准,附件F。不过,我不确定此符号在C++中是否可用。#

c++ - 确保 C++ double 为 64 位

在我的C++程序中,我需要从外部字节序列中提取一个64位float。有什么方法可以确保在编译时double为64位?我应该使用其他类型来存储数据吗?编辑:如果您正在阅读本文并且实际上正在寻找一种方法来确保以IEEE754格式存储,请查看以下AdamRosenfield的答案。 最佳答案 在C99中,您只需检查预处理器符号__STDC_IEC_559__是否已定义。如果是,那么您可以保证double将是一个用IEEE754(也称为IEC60559)格式表示的8字节值。请参阅C99标准,附件F。不过,我不确定此符号在C++中是否可用。#

c++ - 是否有用于指定 double 的数字后缀?

voidFoo(floata){}//1voidFoo(doublea){}//2overloadedFoo(1.0f);//callsfunction1Foo(1.0/*doublenumericsuffix?*/);//callsfunction2如果不是,那么强制转换是实现此目的的唯一方法吗?我主要感兴趣在某些操作等过程中确保double学:ulongj;doublev;j=/*somevalue*/;if(j>0UL)v=1.0/j;//if1.0issetasafloatbythecompilerthen//coulditbelikelywelosesomeprecision

c++ - 是否有用于指定 double 的数字后缀?

voidFoo(floata){}//1voidFoo(doublea){}//2overloadedFoo(1.0f);//callsfunction1Foo(1.0/*doublenumericsuffix?*/);//callsfunction2如果不是,那么强制转换是实现此目的的唯一方法吗?我主要感兴趣在某些操作等过程中确保double学:ulongj;doublev;j=/*somevalue*/;if(j>0UL)v=1.0/j;//if1.0issetasafloatbythecompilerthen//coulditbelikelywelosesomeprecision

c++ - srand (time (null)) 导致编译器警告 : implicit conversion loses integer precision

如果这个问题已经得到解答,我们深表歉意。#include#include#includeusingnamespacestd;intmain(){srand(time(NULL));cout“隐式转换丢失整数精度:'time_t'(又名'long')到'unsignedint'”是我在执行上面的代码时收到的错误消息。我正在使用xcode4.6.1。现在,当我使用不同的编译器(例如来自codepad.org的编译器)时,它执行得非常好,生成看起来像随机数的东西,所以我假设这是我需要解决的xcode问题?我刚刚开始编程,所以在这方面我是一个完整的初学者。我的代码有问题还是我的编译器有问题?任

c++ - srand (time (null)) 导致编译器警告 : implicit conversion loses integer precision

如果这个问题已经得到解答,我们深表歉意。#include#include#includeusingnamespacestd;intmain(){srand(time(NULL));cout“隐式转换丢失整数精度:'time_t'(又名'long')到'unsignedint'”是我在执行上面的代码时收到的错误消息。我正在使用xcode4.6.1。现在,当我使用不同的编译器(例如来自codepad.org的编译器)时,它执行得非常好,生成看起来像随机数的东西,所以我假设这是我需要解决的xcode问题?我刚刚开始编程,所以在这方面我是一个完整的初学者。我的代码有问题还是我的编译器有问题?任

c++ - C++中long double的精度是多少?

有人知道如何在特定平台上找出longdouble的精度吗?我似乎在17位十进制数字后失去了精度,这与我仅使用double时相同。我希望得到更多,因为double在我的平台上用8个字节表示,而longdouble是12个字节。在您问之前,这是针对欧拉计划的,所以是的,我确实需要超过17位数字。:)编辑:感谢您的快速回复。我刚刚确认在我的系统上使用longdouble只能得到18位十进制数字。 最佳答案 您可以通过std::numeric_limits:找到#include//std::cout#include//std::numeri

c++ - C++中long double的精度是多少?

有人知道如何在特定平台上找出longdouble的精度吗?我似乎在17位十进制数字后失去了精度,这与我仅使用double时相同。我希望得到更多,因为double在我的平台上用8个字节表示,而longdouble是12个字节。在您问之前,这是针对欧拉计划的,所以是的,我确实需要超过17位数字。:)编辑:感谢您的快速回复。我刚刚确认在我的系统上使用longdouble只能得到18位十进制数字。 最佳答案 您可以通过std::numeric_limits:找到#include//std::cout#include//std::numeri

python:多分类-计算混淆矩阵confusion_matrix、precision、recall、f1-score分数

1.目标:多分类,计算混淆矩阵confusion_matrix,以及accuracy、precision、recall、f1-score分数。2.代码:1)使用sklearn计算并画出混淆矩阵(confusion_matrix);2)使用sklearn计算accuracy(accuracy_score);3)使用sklearn计算多分类的precision、recall、f1-score分数。以及计算每个类别的precision、recall、f1-score。precision:precision_scorehttps://scikit-learn.org/stable/modules/ge