我编写了这段代码来重载矩阵类上的一元运算符:
const RegMatrix RegMatrix::operator-()const{
RegMatrix result(numRow,numCol);
int i,j;
for(i=0;i<numRow;++i)
for(j=0;j<numCol;++j){
result.setElement(i,j,(-_matrix[i][j]));
}
return result;
}
当我在 Visual Studio 中使用调试器运行程序时,它向我显示,当对双精度等于零进行操作时,它会插入数字 -0.00000 的结果矩阵。
这是一些奇怪的 VS 显示功能,还是我应该小心处理?
有符号零是带有关联的零
符号。在普通算术中,−0 = +0
= 0。然而,在计算中,某些数字表示允许
存在两个零,通常表示为
通过 −0(负零)和 +0(正零)
零)。这种情况发生在一些签名中
整数的数字表示,
并且在大多数浮点数中
交涉。数字 0 是
通常编码为+0,但是它可以
由+0或-0表示。
IEEE 754 浮动标准
点算术(目前使用
大多数计算机和编程
支持浮点的语言
数字)需要+0和-0。这
零可以被视为一种变体
扩展实数轴,例如
1/−0 = −∞ 且 1/+0 = +∞,除法
仅对于 ±0/±0 未定义为零。
负号零与
数学分析的概念
从下面逼近 0 作为
单边极限,可以表示为
x → 0−、x → 0− 或 x → ↑0。这
符号“−0”可以非正式地使用
表示一个小的负数
已四舍五入为零。这个概念
负零也有一些
理论应用
统计力学及其他
学科。
据称,其中包括
IEEE 754 中的带符号零使其意义重大
更容易达到数值精度
在一些关键问题上,1 http://en.wikipedia.org/wiki/Signed_zero在
特别是在进行复杂计算时
初等函数。[2]在另一
手,有符号零游程的概念
与一般假设相反
在大多数数学领域(以及
在大多数数学课程中)
负零与
零。允许的表示
负零可以是一个来源
程序中的错误,如软件
开发人员没有意识到(或者可能
忘了)那个,而两个零
表示在以下情况下表现相同
数值比较,它们是
不同的位模式和产量
某些操作会产生不同的结果。
欲了解更多信息,请参阅签名零 http://en.wikipedia.org/wiki/Signed_zero维基页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)