暂无文章发布记录
C++min max lowest极值边界
C++里找极值,别只记得std::max——说说min、max、lowest那些没明说的边界真相 写C++时,谁没用过std::max(a, b)?一行搞定两个数比大小,干净利落。可真到项目里出问题——比如浮点比较失准、负零搅局、或者numeric_limits<T>::lowest()突然返回个“比最小值还小”的值——你才意识到:标准库的极值函数,不是按直觉工作的,而是按规范写的。 先戳破一个常...
阅读原文
C++digits digits10精度位数
C++里 digits 和 digits10 到底在说啥?别再被“精度位数”绕晕了 刚学C++数值类型时,翻到 <limits> 里的 std::numeric_limits<T>::digits 和 digits10,第一反应往往是:“这俩不都是讲精度的吗?差在哪?” 查文档看到 digits 是“能表示的无符号整数位数(以2为底)”,digits10 是“能精确表示的十进制位数”,但读完还是云...
阅读原文
C++radix进制基数与epsilon精度
C++里radix不是“进制”那么简单,epsilon也不是“精度”万金油 写C++时翻标准库文档,常撞见两个词:std::numeric_limits<T>::radix 和 epsilon()。初看像教科书里的概念——“radix是进制,epsilon是浮点最小差值”。但真在嵌入式做定点数转换、或调试金融计算中0.1+0.2≠0.3的bug时,才发现:它们根本不是静态常识,而是运行时行为的底层...
阅读原文
C++round_style舍入模式查询
C++ 中 round_style 到底在问什么?别再被 std::numeric_limits 的文档绕晕了 你翻过 std::numeric_limits<T>::round_style 吗? 可能某天调试浮点输出精度时,你顺手查了下 double 的这个静态成员,看到返回值是 std::round_to_nearest,心里一松:“哦,四舍五入。” 接着又试了 float16_t(如果编译器...
阅读原文
C++is_iec559是否符合IEEE754
std::numeric_limits<T>::is_iec559 到底在说啥?别被名字骗了,它和IEEE 754不是“同义词” 你翻过 <limits> 头文件,大概率见过这行: std::numeric_limits<double>::is_iec559 它返回 true,看着挺笃定。但如果你真去查 IEEE 754-2008 标准原文,或者拿 std::nextafter、std::copy...
阅读原文
友情链接
Friends & Partners