−0
在 计算机 科学 中 ,−0是 浮点数 中表 达0的 一 种方式 ,可 以在某 些时候 进行符号 性 处理。在 普通 应用中 ,−0有 可能 被 用 来 表示 一 个可以四 舍 五 入 为零的 负数,或 者 是 一 个从负方向上 趋近于零的 数 。在 统计力学 中 ,特定 的 系 统在反 转分布 的 状 态下,可 以被认为拥有−0的 绝对温度 。
计算机 科学
[编辑]表示法
[编辑]性 质与处理
[编辑]使用 IEEE 754中 定 义的copysign()
函数 复制零 的 符号 到 任意 非 零 的 数 上 。用 一个正数来除以这个零——得 到 的 无穷能 够反映 出 零 的 符号 - (x>0)
- (x>0)
在 Java中 ,用 Double
类中 的 equals方法 ,能 够分辨 出 正 零 和 负零,[1]例 如:- Double negativeZero = new Double(-0.0);
negativeZero.equals(-0.0); // 结果:真
negativeZero.equals( 0.0); // 结果:假
- Double negativeZero = new Double(-0.0);
在 C语言中 ,使用 一个依赖于本地硬 件 表示法 的 不 方便 的 办法。例 :*(int *)&var == 0x80000000
(var在 IEEE 754中 编码单精度 )。
其他对于负零
- (x>0)
- (x<0)
- (x<0)
- (x>0)
自然 科学
[编辑]参考 资料
[编辑]- ^ Double (Java Platform SE 6). docs.oracle.com. [2022-12-10]. (
原始 内容 存 档于2022-12-25). - ^ Kittel, Charles; Kroemer, Herbert. Thermal Physics. W. H. Freeman & Company. 1980. ISBN 0-7167-1088-9.
- Floating point types. MSDN C#语言详述. [2005
年 10月 15日 ]. (原始 内容 存 档于2006年 8月 24日 ). - Division operator. MSDN C#语言详述. [2005
年 10月 15日 ]. (原始 内容 存 档于2005年 11月21日 ). - Thomas Wang. Java Floating-Point Number Intricacies. 2000
年 3月 [2007-07-07]. (原始 内容 存 档于2005-09-21). - Specification. General Decimal Arithmetic: Encoding Strawman 4d, version 0.96. [2005
年 10月 16日 ]. (原始 内容 存 档于2012年 2月 17日 ). — 一个包含有负零的“十 进制”浮点数 规范
延伸 阅读
[编辑]- Michael Ingrassia. Fortran 95 SIGN Change. Sun Developer Network. [2005
年 10月 15日 ]. (原始 内容 存 档于2012年 2月 17日 ).——Fortran语言中 (Fortran 95)SIGN
函数 的 一个变化以适应负零 - JScript data types. MSDN JScript. [2005
年 10月 16日 ]. (原始 内容 存 档于2005年 11月10日 ).——JScript的 浮点数 从定义上即 包括 负零 - A look at the floating-point support of the Java virtual machine. Javaworld. [2005
年 10月 16日 ]. (原始 内容 存 档于2012年 2月 17日 ).——Java虚 拟机中 负零的 表示法 - Bruce Dawson. Comparing floating point numbers. [2007-07-07]. (
原始 内容 存 档于2007-07-03).——在 比 较浮点数 时是怎么处理负零的 - John Walker. Minus Zero. UNIVAC Memories. [2005
年 10月 17日 ]. (原始 内容 存 档于2012年 2月 17日 ).——UNIVAC® 1100系列 电脑中 的 二 进制反 码