負のゼロ
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、数の表現について説明しています。広瀬正のSF小説については「マイナス・ゼロ」をご覧ください。

?0(マイナスゼロ)、あるいは負のゼロとは、数値のゼロマイナスの符号をつけたものである。

通常の算術では、負のゼロは単なるゼロ(及び正のゼロ、+0)と同じであるが、これらを分ける方が望ましい場合や、分けて扱わざるを得ない場合がある。

そのようなケースとして、以下のものがある
極限。例えば右方極限を x → +0 と左方極限を x → −0 と書いて区別する場合 詳細は「片側極限」を参照

コンピュータの数値表現においてゼロの表現が一意でない場合

数学

+0, −0, +∞, −∞ は通常、極限操作を表す記号として用いられ、実数上のとは扱われない。これは任意の実数 c に対する +c, −c についても同様である。

しかし、煩雑さを避けるため、標語的に正負のゼロや無限大を実数であるかのように表記することがしばしば行われる。
コンピュータの数値表現と負のゼロ
IEEE 754における負のゼロ詳細は「IEEE 754における負のゼロ」を参照

現在のほぼ全てのコンピュータやプログラミング言語が採用している浮動小数点数の標準である IEEE 754 には通常の 0.0 と −0.0 がある。
その他のコンピュータの数値表現における負のゼロ

コンピュータの数値表現では、補数を利用して負数を表現することが多いが、同じ補数でも基数の補数を利用した場合には負のゼロが生じないのに対し、減基数の補数を用いた場合には負のゼロが生じる。また「符号と絶対値」方式の場合にもゼロについて正と負の2つのゼロがある(前述のIEEE 754など)。
統計等における負のゼロ−0 °Cを表示する温度計

気象学では、−0 °Cは 0 °C(セルシウス温度)より低いが −1 °Cとするほどではない温度を示し、統計的な意味(つまり1 °C単位で統計を取る場合)では重要なこともある。例えば、−0.2 °Cがその例である。0 °Cは負の範囲を含まないのでこれを 0 °Cとして統計処理することはできない。また、冬季の寒さを比較する際に日中の気温が 0 °C未満(氷点下)の日を数えることは基本であり、無視することができない。従って −1 °Cに丸めるには絶対値が小さすぎる温度は −0 °C と記録される。道路上などに設置してある気温・路温計でもそれを見ることが出来る。
数値表現としての負のゼロ「IEEE 754における負のゼロ」も参照

コンピュータにおける負の値の扱い方にはいろいろあるが、IEEE 754 が採用しているような「符号と絶対値」方式による表現では、ゼロについて、

+0

−0

の二種類の表現が可能であるため、問題が生じることがある。なお21世紀にはほとんど見られなくなったがかつては、整数の表現についても「符号と絶対値」方式が採用されることもあった。

例えば、IEEE 754 では、x == y といったような通常の比較において、通常のゼロと負のゼロを比較した場合、真になることを要求している。単にワードを整数と同様に比較しただけでは、その要求を満たすことができない。もっとも、IEEE 754 ではたとえば NaN についても同様に例外的な扱いが必要なので ( NaN == NaN は常に偽で NaN != NaN は常に真) 、実装上、負のゼロがきわめて特異というわけでもない(IEEE 754 では)。
参考文献.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。記事の信頼性向上にご協力をお願いいたします。(2023年6月)


“ ⇒Floating point types”. MSDN C# Language Specification. 2005年10月15日閲覧。

“ ⇒Division operator”. MSDN C# Language Specification. 2005年10月15日閲覧。

Thomas Wang (2000年3月). ⇒Java Floating-Point Number Intricacies. 2000年9月. ⇒http://www.concentric.net/~Ttwang/tech/javafloat.htm

Kittel, Charles; and Herbert Kroemer (1980年). Thermal Physics. W. H. Freeman & Company. ISBN 0716710889 

Mike Colishaw (2008年7月28日). “ ⇒Decimal Arithmetic Specification, version 1.68”. 2008年8月14日閲覧。 — 負のゼロを含む十進浮動小数点数の仕様。

Michael Ingrassia. “ ⇒Fortran 95 SIGN Change”. Sun Developer Network. 2005年10月15日閲覧。 — FORTRAN の SIGN関数が、負のゼロを扱えるよう Fortran 95 で変更された。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:11 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef