首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::numeric_limits::has_denorm_loss

static const bool has_denorm_loss;

(until C++11)

static constexpr bool has_denorm_loss;

(since C++11)

价值std::numeric_limits<T>::has_denorm_losstrue适用于所有浮点类型。T当将低于正常值的数字创建为非正态化损失时,而不是作为不精确的结果%28(见%29以下)时,将检测精度损失。

标准专业化

T

value of std::numeric_limits<T>::has_denorm_loss

/* non-specialized */

false

bool

false

char

false

signed char

false

unsigned char

false

wchar_t

false

char16_t

false

char32_t

false

short

false

unsigned short

false

int

false

unsigned int

false

long

false

unsigned long

false

long long

false

unsigned long long

false

float

implementation-defined

double

implementation-defined

long double

implementation-defined

注记

标准兼容的ieee 754浮点实现要求低于正常值的数字,以检测与创建该数字相关的准确性损失(如果发生这种情况),并且可以使用以下两种不同的方式之一:

1%29非正态化损失:交付的结果与指数范围无界时的计算结果不同。

2%~29不精确结果:所给出的结果与指数范围和精度无界的计算结果不同。

不存在去正态化丢失机制的实现,在舍入后检测到28%的精度损失,不精确结果%29,并且在IEEESTD 754的2008修订版中删除了此选项。

libstdc++、libc++、libCstd和stlport 4为所有浮点类型定义了这个常量为false。MicrosoftVisualStudio将其定义为所有浮点类型的真。

与任何浮点计算一样,精度损失可能会增加。FE_INEXACT...

另见

tinyness_before static

identifies floating-point types that detect tinyness before rounding (public static member constant)

has_denorm static

identifies the denormalization style used by the floating-point type (public static member constant)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券